java 必须掌握的类_java 中常用的类

java 中常用的类

Math

Math 类,包含用于执行基本数学运算的方法

常用API

取整

l  static doubleabs(double  a)获取double 的绝对值

l  static doubleceil(double  a)     向上取整(天花板)

l  static doublefloor(double  a)   向下取整 (地板)

l  static longround(doublea)  四舍五入

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 double a = 3.1415926;2 double ceil =Math.ceil(a);3 double floor =Math.floor(a);4 long round =Math.round(a);5 //打印结果 : 4.0---3.0---3

6 System.out.println(ceil +"---"+ floor +"---"+ round);

Math 类中的取整

最值

l  staticT max(T t, T t) 返回参数类型值中比较大的值

l  staticT  min(T t, T t)返回参数类型值中比较小的值

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 double a = 3.156;2 double b = 123;3

4 double max =Math.max(a, b);5 //打印结果 :123.0

6 System.out.println(max);7

8 double min =Math.min(a, b);9 //打印结果 :3.156

10 System.out.println(min);

Math 类中的最值方法

0-1 随机数

l  static doublerandom()   返回从0-1的随机数

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 double random =Math.random();2 //打印结果 :0.40999788738259957

3 System.out.println(random);

Math 类中的随机方法

Calendar

Calendar 是日历类,calendar 为抽象类,由于语言的敏感性,calendar 在创建的时候并非直接创建,而是通过静态方法创建,先处理语言的敏感性,在返回子类对象。

Calendar 是通过getInsrance() 静态方法来获取子类对象。

staticCalendargetInstance()使用默认时区和语言环境获得一个日历

示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public classStringDemo {2 /**

3 * 通过calendar 类中的静态方法,getInstance 获取子类对象4 */

5 static Calendar c =Calendar.getInstance();6 public static voidmain(String[] args) {7 /**

8 * 获取当前日历年份9 * 结果 : 201810 */

11 System.out.println(c.get(Calendar.YEAR));12 }13 }

获取calendar

常用API

获取

lstatic CalendargetInstance()获取日历

l       longgetTimeInMillis()获取当前时间的毫秒值

l      DategetTime()获取当前时间

lintget(int field)获取指定字段的值

YEAR 年

MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。

DATE 天

HOUR 时

MINUTE分

SECOND秒

设置值

abstract  voidadd(int field, int amount)为指定的日历字段增加或减少时间量

voidset(int field, int value)将指定的值设置给指定的字段

voidsetTime(Datedate)将指定的Date 值设置给calendar

voidsetTimeInMillis(long millis)将指定的毫秒值设置给calendar

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 importjava.text.SimpleDateFormat;2 importjava.util.Calendar;3 importjava.util.Date;4

5 public classStringDemo {6 /**

7 * 通过calendar 类中的静态方法,getInstance 获取子类对象8 */

9 static Calendar c =Calendar.getInstance();10 public static voidmain(String[] args){11 /**

12 * 获取当前时间的毫秒值13 * 打印结果:154348347524614 */

15 System.out.println(c.getTimeInMillis());16

17 /**

18 * 获取当前时间19 * 打印结果:Thu Nov 29 17:24:35 CST 201820 * 打印结果:2018-11-29 : 17:24:3521 */

22 Date time =c.getTime();23 System.out.println(time);24 //调用SimpleDateFormat,将当前时间转换为指定格式

25 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd : HH:mm:ss");26 System.out.println(dateFormat.format(time));27

28 /**

29 * 获取当前年份30 * 打印结果:202031 */

32 c.set(Calendar.YEAR, 2020);33 System.out.println(c.get(Calendar.YEAR));34

35 }36 }

calendar 的API 示例

SimpleDateFormat 与 Date

DataFormat 类是针对日期进行格式化,针对字符串进行解析的类,但它是抽象类,所以使用其子类simpleDateFormat

Data 是表示特定的瞬间,精确到毫秒

SimpleDateFormat的构造方法

SimpleDateFormat的API

voidapplyPattern(Stringpattern)将指定模式字符串应用于此日期格式

stringBufferformat(Datedate)将指定的日期以指定的字符串格式输出

Dateparse(Stringtext)将指定字符串解析成时间(date)

y 年            M 月     d 日

h

时 在上午或下午 (1~12)

H

时 在一天中 (0~23)

m

分     s 秒            S 毫秒        E 星期

D

一年中的第几天

F 一月中第几个星期几

w 一年中第几个星期

W 一月中第几个星期

a 上午 / 下午 标记符

k 时 在一天中 (1~24)

K 时 在上午或下午 (0~11)

z 时区

示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 1、将当前时间毫秒值转换成指定时间字符串2 //创建时间格式字符串

3 String str = "yyyy-MM-dd HH:mm:ss 一年中的第D天---一月中第F个星期E---一年中第w个星期";4 SimpleDateFormat dateFormat = newSimpleDateFormat(str);5 /**

6 * 使用System.currentTimeMillis()获取当前时间的毫秒值7 * 将时间毫秒值转换成指定格式的时间日期8 * 打印结果:2018-11-26 09:49:30 一年中的第330天---一月中第4个星期星期一---一年中第48个星期9 */

10 System.out.println(dateFormat.format(System.currentTimeMillis()));11

12

13

14 2、将指定时间字符串转换成时间15 //创建时间字符串

16 String str1 = "2018年11月26日";17 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");18 //将时间字符串以指定格式,转换成时间

19 Date date =simpleDateFormat.parse(str1);20 //打印结果:Mon Nov 26 00:00:00 CST 2018

21 System.out.println(date);22

23

时间与字符串相互转换

Date  API

longgetTime()获取当时时间的毫秒值,和System.currentTimeMillis() 类似

System

System API

void(Objectsrc, int srcPos,Objectdest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束

voidexit(int status)终止当前正在运行的java 虚拟机

voidgc()运行垃圾回收器

示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 //创建两个数组,一个有内容,一个长度为10的数组

2 int[] arr = {1,2,3,4,5,6,7,8,9};3 int[] arr1 =new int[10];4 //调用System 中的arraycopy 方法,复制arr数组到arr1中

5 System.arraycopy(arr, 0, arr1, 0, arr.length);6 //打印结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

7 System.out.println(Arrays.toString(arr1));

system 中的arraycopy方法

Random

Random 类 是生成随机数(伪随机数)的类。在进行随机时,随机算法的起源数字称之为种子数,在种子数的基础上进行一定的变换,从而产生需要的随机数字。

相同种子数的Random 对象,相同次数生成的随机数数字是完全相同的。也就是说,两个种子数完全相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。

Random 的构造方法

使用单个 long 种子创建一个新的随机数生成器。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 //创建random 类,种子数相同

2 Random random = new Random(10);3 Random random1 = new Random(10);4 //生成随机数

5 int i =random.nextInt();6 int i1 =random1.nextInt();7 //打印结果 : -1157793070----1157793070

8 System.out.println(i+"---"+i1);9

10 //创建random 类,生成随机数,无种子数

11 Random random = newRandom();12 Random random1 = newRandom();13 //生成随机数

14 int i =random.nextInt();15 int i1 =random1.nextInt();16 //打印结果 : -1526132103----233068814

17 System.out.println(i+"---"+i1);

Random 种子数对比

Random 类的API

int生成下一个伪随机数。

intnextInt()    返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

boolean 值。

long 值。

0.0 和 1.0 之间均匀分布的 double 值。

0.0 和 1.0 之间均匀分布的 float 值。

示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 Random random = newRandom();2 //获取 -3到7 之间的随机数,包含-3,不包含7

3 int nextInt = random.nextInt(10)-3;4 //打印结果 5

5 System.out.println(nextInt);

Random 中的nextInt方法

Scanner

Scanner 是jdk1.5 之后添加的类。用于键盘输入内容

构造方法

Scanner,它生成的值是从指定的输入流扫描的。System.in (从键盘扫描)

Scanner,它生成的值是从指定文件扫描的。

Scanner API

int。

double。

示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 //创建Scanner 类

2 Scanner s = newScanner(System.in);3 System.out.println("请输入数字");4 //调用nextLine() 方法,键盘输入

5 String line =s.nextLine();6 //调用nextLine() 方法,键盘输入

7 String line2 =s.nextLine();8 //输出结果

9 System.out.println(line+line2);10

11 //创建Scanner 类

12 Scanner s1 = newScanner(System.in);13 System.out.println("请输入数字");14 //调用nextInt() 方法,键盘输入整数

15 int line3 =s1.nextInt();16 //调用nextInt() 方法,键盘输入整数

17 int line4 =s1.nextInt();18 //输出结果

19 System.out.println(line+line2);

Scanner 调用示例

注意:

Scanner 中 next() 与 nextLine() 的区别

next() : 只读取输入的值,到空格结束。它不能读取由两个空格或者符号隔开的单词。且光标定位到本行

nextLine() : 读取输入的值,包括单词,所有空格以及符号。到回车键结束。且光标定位到下一行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值