java_包装类(2)

Math

math类包含用于执行基本数学运算的方法,如初等函数、对数、平方根和三角函数

常用方法:

Arrays类:

Arrays里面包含了 一系列静态方法,用于管理或操作数组

1.toString返回数组的字符串形式 Arrays.toString(arr)

2.sort排序

3.binarySearch通过二分搜素法进行查找,要求必须排好序

4.copyOf数组元素的复制

5.fill数组元素的填充

6.equals比较两个数组元素内容是否完全一致

7.asList将一组值转换成list

System类:

1.exit退出当前程序

2.arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyOf完成复制数组

int[] src={1,2,3}

int[] dest = new int[3]

System.out.println(src,0,dest,0,3);

3.currentTimeMillens:返回当前时间距离1970-1-1的毫秒数

4.gc:运行垃圾回收机制 System.gc();

BigInteger和BigDecimal类:

1.BigInteger适合保存比较大的整形

2.BigDecimal适合保存精度更高的浮点型

(1)add   (2)subtract   (3)multiply     (4)divide

高精度除法时可能除不尽 ,会报异常:BigDecimal.ROUND_CEILING指定精度,保留分子的精度

日期类:

第一代:

1.Date:精确到毫秒,代表特定的时间

2.SimpleDateFormat:格式和解析日期的类

SimpleDateFormat格式化和解析日期的具体类。它允许进行格式化(日期->文本)、解析(文本->日期)和规范化

Date  d1 = new Date();//获取当前系统时间
Date  d2 = new Date(12345);//通过指定毫秒数得到时间
System.out.println(d1.getTime());//获取某个时间对应的毫秒数



SimpleDateFormat  sdf   =  new   SimpleDateFormat("yyyy年MM月dd日   hh:mm:ss  E");
String  format = sdf.format(d1);

//把一个格式化的String 转换成对应Date
String  s = "1997年01月02日  10:20:00  星期一"    //格式要和sdf相同,否则会有异常
Date  parse = sdf.parse(s);//会有一个转换异常  抛出即可
System.out.println("parse = "+parse);

第二代:        

Calendar类:

是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法

//1.Calendar的构造器是一个private
//2.可以通过getInstance()获取实例
Calendar  c  = Calendar.getInstance();
System.ou.print("年"+c.get(Calendar.YEAR));
System.ou.print("月"+(c.get(Calendar.MONTH)+1));//因为月是从零开始编号,所以要加1
System.ou.print("日"+c.get(Calendar.DAY_OF_MONTH));
System.ou.print("时"+c.get(Calendar.HOUR));//HOUR_OF_DAY为24小时制
System.ou.print("分"+c.get(Calendar.MINUTE));
System.ou.print("秒"+c.get(Calendar.SECOND));

第三代

JDK1.0中包含了一个java.util.Date类,但是它的大多数方法已经在JDK1.1引入Calendar类之后就被弃用了。而Calendar也存在问题是:

1)可变性:像日期和时间这样的类应该是不可变的

2)偏移性:Date中的年份是从1900开始的,而月份都是从0开始的

3)格式化:格式化只对Date有用,对Calendar没用

4)此外,他们也 不是线程安全的;不能处理闰秒等(每隔两天,多出1S)

第三代日期类常用方法

1)LocalDate(年月日)、LocalTime(时分秒)、LocalDateTime(年月日时分秒)-------JDK8加入的

LocalDateTime  ldt  = LocalDateTime.now();//返回当前时间的对象

ldt.getYear();
ldt.getMonthValue();
ldt.getMonth(); //英文月份
ldt.getDayOfMonth(); //返回月份数字
ldt.getHour();
ldt.getMinute();
ldt.getSecond();

2)DateTimeFormatter格式日期类

类似于SimpleDateFormat

DateTimeFormatter   dtf = DateTimeFormatter.ofPattern();
String  str = dtf.format(日期对象);

LocalDateTime  ldt = LocalDateTime.now();
//使用DateTimeFormatter对象进行格式
//创建DateTimeFormatter对象
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(yyyy年MM月dd日   HH时mm分ss秒);
String  format = dtf.format(ldt);

3)时间戳

类似于Date,提供了 一系列和Date类转换的方式

//Instant    ----------》Date:
//Date date = Date.from(instant);
//Date       ----------》Instant:
//Instant  instant   =   date.toInstant();
//例如
Instant now = Instant.now();
Date date = Date.from(now);
Instant instant = date.toInstant();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值