Math
Math概述
- 是一个帮助我们进行数学计算的工具类
- 私有化构造方法,所有的方法都是静态的
Math类的常用方法


Java基础算术接口
讯享网
System
System是一个工具类,提供了一些与系统相关的方法

- 时间原点:1970年1月1日00:00:00,我国在东八区,有8小时时差
- 1秒=1000毫秒
System.exit()
运行结果:

System.currentTimeMills()
讯享网
System.arraycopy(源数组,从源数组第几个索引开始,目的数组,从目的数组第几个索引开始,复制几个数据)
运行结果:

Runtime
Runtime表示当前虚拟机的运行环境

Object
Object概述
Object是Java中的顶级父类。所有的类都直接或简洁的继承于Object类。
Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。
Object的构造方法

Object的成员方法

toString()
如果在Student中没有重写toString方法,运行结果如下:

在Student中重写toString方法
运行方法如下:

equals()
对象克隆 clone()
把A对象的属性值完全拷贝给B对象,也叫对象拷贝、对象复制
浅克隆
不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来

深克隆
- 基本数据类型-->拷贝过来
- 字符串-->复用
- 引用数据类型-->重新创建新的小空间

Object的克隆是浅克隆,如果想要深克隆,需要重写克隆方法,在方法里面自行开辟一个新的空间,将对应的数据拷贝过去
没有在User类中重写clone方法的话,运行结果如下:(会同时修改两个的数据)

深克隆有两种方法:
一种是自行重写clone方法
第二种是导入第三方库:
第三方库的原理就是先将原来对象里面的所有内容都转换成字符串的形式,然后再把字符串转换成对象的形式,这样子就相当于开辟了一个新的空间
总结
- Object是Java中的顶级父类
- 所有的类都直接或简洁的继承于Object类
- toString():一般会重写,打印对象时打印属性
- equals():比较对象时会重写,比较对象属性值是否相同
- clone():默认浅克隆
- 如果需要深克隆需要重写方法或者使用第三方工具类
Objects
Objects的成员方法

- Objects是一个对象工具类,提供了一些操作对象的方法
- equals(对象1,对象2):先做非空判断,比较两个对象
- isNull(对象):判断对象是否为空
- nonNull(对象):判断对象是否不为空
BigInteger
BigInteger概述
BigInteger构造方法

public BigInteger(int num, Random rnd) 获取随机大整数,范围:[0~ 2的num次方-1]
这样子就能打印出0~15的随机数
public BigInteger(String val) 获取指定的大整数 --> 括号里面需要写字符串的形式,并且该字符串的内容必须是一个整数,否则会报错
public BigInteger(String val, int radix) 获取指定进制的大整数 括号里面第一个变量也是字符串类型的,并且要符合第二个变量的要求,例如后面的数字是2,那么第一个变量只能写2进制的形式
public static BigInteger valueOf(long val) 静态方法获取BigInteger的对象,内部有优化
由于该方法是静态方法,因此调用的时候直接用类名调用即可
并且在这个方法内部,它会先把-16~16进行内部优化,会提前给这些数字创建好BigInterger对象,这样多次获取也不会重新创建新的BigInterger对象
BigInterger对象一旦创建,内部的数据就不会发生改变,例如进行加法运算的时候,便会创建一个新的BigInterger对象接收他们的和
BigInterger常见方法

BigInterger底层存储原理
BigInterger底村存储方式
BigInterger存储上限

小结
如果BigInteger表示的数字没有超过long范围,可以用valueof()静态方法获取
如果BigInteger表示饿数字超出long范围,可以用静态方法获取
对象一旦创建,BigInteger内部记录的值不能发生改变

只要进行计算都会产生一个新的BigInteger对象
BigInterger要掌握的点

BigDecima
计算机中的小数

如果用double表示0.226便超出范围了
BigDecima的作用
- 用于小数的精确计算,解决小数运算精度失真的问题
- 用来表示很大的小数
BigDecima获取方式
BigDecima的使用

BigDecima要掌握的点

正则表达式
正则表达式的作用
作用一:校验字符串是否满足规则
作用二:在一段文本中查找满足要求的内容

正则表达式小结 

正则表达式在字符串中的使用

分组

捕获分组和非捕获分组

总结

JDK7以前时间相关类

Date时间类
运行结果:

时间计算

SimpleDataFormat类
SimpleDataFormat类作用
格式化:把时间变成我们想要的格式
解析:将字符串表示的时间变成Date对象

按照指定格式展示

秒杀活动

Calendar类
Calendar概述
Calendar代表了系统当前时间的日历对象,可以单独修改、获取时间中的年、月、日
Calendar是一个抽象类,不能直接创建对象
获取Calendar对象的方法
Calendar常用方法

有一点需要注意的就是,即使你设定的月份很大,程序也不会报错,而是给你自动计算加在年份上面。(日期同理)
月份获取到的是(0~11),因此要获取准确的月份需要自行加一
星期获取到的是(1~7),但是1对应的是星期日
月份和星期若是想获取准确的日期,可以使用查表法,在定义一个方法,再方法内部定义与索引一一对应的字符数组,返回对应的值即可。
JDK8新增时间相关类
为什么要学习JDK8新增时间相关类

JDK8时间
ZoneId类

Instant类

ZoneDateTime类

DateTimeFormatter类

LocalDate、LocalTime、LocalDateTime


LocalDate
LocalTime
LocalDateTime
Duration、Period、ChronoUnit

Duration
Period
ChronoUnit
包装类
包装类概述

JDK5之前
JDK5以后对包装类新增了自动装箱和自动拆箱的特性
Integer成员方法

键盘录入的转换
练习









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/10603.html