Java基础算术接口

Java基础算术接口Math Math 概述 是一个帮助我们进行数学计算的工具类 私有化构造方法 所有的方法都是静态 的 Math 类的常用方法 Java 基础算术接口 System System 是一个工具类 提供了一些与系统相关的方法 时间原点 1970 年 1 月 1 日 00 00 00 我国在东八区 有 8 小时时差

大家好,我是讯享网,很高兴认识大家。



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成员方法

 

键盘录入的转换

 

练习

 

 

 

 


                    
小讯
上一篇 2025-01-01 17:21
下一篇 2024-12-31 21:27

相关推荐

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