第四天、面向对象:常见API&日期时间&Arrays
常用API
Math
Math
-
代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法
Math类提供的常见方法
System
System
-
System代表程序所在的系统,也是一个工具类
System类提供的常见方法
-
这里的毫秒值指的是从1970年1月1日 00:00:00走到此刻的总的毫秒数(1s = 1000ms)
Runtime
Runtime
-
代表程序所在的运行环境
Runtime类提供的常见方法
BigDecimal
BigDecimal
-
用于解决浮点型运算时,出现结果失真的问题
BigDecimal的常见构造器、常用方法
JDK8之前传统的日期、时间
Date
Date
-
代表的是日期和时间
SimpleDateFormat
SimpleDateFormat
-
代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的形式
时间格式的常见符号:
SimpleDateFormat解析字符串时间成为日期对象
Calendar
Calendar
-
代表的是系统此刻时间对应的日历,通过它可以单独获取、修改时间中的年、月、日、时、分、秒等
Calendar日历类的常见方法
注意事项 :
-
calendar是可变对象,一旦修改后其对象本身表示的时间将产生变化
JDK8开始新增的日期、时间
为什么要学JDK8新增的时间?
为什么要学JDK8新增的时间?
JDK8新增的时间
-
LocalDate:年、月、日
-
LocalTime:时、分、秒
-
LocalDateTime:年、月、日、时、分、秒
-
ZoneId : 时区
-
ZonedDateTime:带时区的时间
-
DateTimeFormatter:用于时间的格式化和解析
java.time包下的类
LocalDate、LocalTime、LocalDateTime
-
LocalDate:代表本地日期(年、月、日、星期)
-
LocalTime:代表本地时间(时、分、秒、纳秒)
-
LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)
它们获取对象的方案
转换相关的API
LocalDate的常用API(都是处理年、月、日、星期相关的)
LocalTime的常用API (都是处理时、分、秒、纳秒相关的)
LocalDateTime的常用API(可以处理年、月、日、星期、时、分、秒、纳秒等信息)
ZoneId、ZonedDateTime
什么是时区?
-
由于世界各个国家与地区的经度不同,各地区的时间也有所不同,因此会划分为不同的时区
-
ZoneId:代表时区Id
ZoneId 时区的常见方法
ZonedDateTime 带时区时间的常见方法
DateTimeFormatter
DateTimeFormatter
LocalDateTime提供的格式化、解析时间的方法
Arrays
Arrays
Arrays
-
用来操作数组的一个工具类
Arrays类提供的的常见方法
如何对数组中的对象昂排序
-
自然排序:让该对象的类实现Comparable(比较规则)接口,重写compareTo方法,制定比较规则
-
比较器排序:使用下面这个sort方法,创建Comparator比较器接口的匿名内部类对象,制定比较规则
自定义排序规则时,需要遵循的官方约定如下
-
左边对象大于右边对象,返回正整数; 左边对象小于右边对象,返回负整数; 两边对象相等,返回0 这样就可以得到升序