2022-07-28 第六小组 瞒春 学习笔记

学习目标:

  • 工具类

学习内容:

  1. Date 日期类
  2. Math数学类
  3. System系统类
  4. Objects工具类

2022-07-28 第六小组 瞒春 学习笔记_第1张图片

 

Java的值传递和所谓的引用传递

本质上Java只有值传递,所有的赋值传参都是一次值的拷贝

引用数据类型其实拷贝的就是引用地址(虚地址)

基本数据类型拷贝的是值,不会传入实例对象本身

面试题:打印输出的结果是?

2022-07-28 第六小组 瞒春 学习笔记_第2张图片

输出结果Tom

 

常用API

API(Application Programming Interface)应用程序接口

JDK给我们提供的一些已经写好的类,我们可以直接调方法来解决问题

String(可以叫API接口)

我们类的方法,在宏观上都可以称为接口

API文档,用来介绍API

时间相关的API

时间:

格林尼治天文台

时区:东八区

北京时间

时间戳:格林尼治时间1970.1.1 00:00:00 到尽头2022.7.28 9:29:30 的毫秒数

1s = 1000ms , 1min = 60s , 1h = 60min , 1day =24h。

时间戳在全世界都是固定的。忽略了时区等

2022-07-28 第六小组 瞒春 学习笔记_第3张图片

 

日期类

Date

2022-07-28 第六小组 瞒春 学习笔记_第4张图片

 

compareTo

2022-07-28 第六小组 瞒春 学习笔记_第5张图片

 

当返回负数时,说明调用者时间是在参数时间之前。

当返回0时,说明调用者时间和参数时间相同。

当返回正数时,说明调用者时间在阐述时间之后。

日历类:日期、时间

Calendar是一个抽象类,能new不能创建对象

初始化;

提供了一组对“年月日、时分秒、星期”等信息的操作函数。可以操作不同时区的信息。

JDK1.1版本开始,在处理时间和日期时,系统推荐使用Calendar类

Calendar要比Date强大的多

 

除非要获取的年月日时分秒一次性拿取,否则一律用calendar

时区

 

ZoneId

 

日期格式化

SimpleDateFormat

 

format:格式化Date类型,把Date类型转成String类型

我们要展示数据到客户端

parse:把String类型的时间,转成Date类型

从客户端传过来的时间,一般都是String类型,存入数据库。

 

yyyy代表年,yy代表年的后两位

MM代表月

dd代表日

HH代表小时(24小时制) hh代表小时(12小时制)

mm代表分

ss代表秒

SSS代表毫秒

工具类的方法都是静态

JDK8的日期时间类

在JDK8之前,处理日期和时间,基本上就是用我们上面的几个类

Date和Calendar,获取到的月份都是0-11,而不是我们生活中的1-12

阿里巴巴规约的明确要求:

如果是JDK8的应用,可以使用Instant来代替Date,LocalDateTime代替Calendar,DateTimeFormatter代替SimpleDateFormat

新的时间类

Instant

LocalDate

LocalTime

DateTimeFormatter

持续时间Duration

 2022-07-28 第六小组 瞒春 学习笔记_第6张图片

获取当前的日期 LocalDate

2022-07-28 第六小组 瞒春 学习笔记_第7张图片

2022-07-28 第六小组 瞒春 学习笔记_第8张图片判断是否为闰年

 

本地时间 LocalTime

 2022-07-28 第六小组 瞒春 学习笔记_第9张图片

 

获取日和时间  LocalDateTime

2022-07-28 第六小组 瞒春 学习笔记_第10张图片

 

处理日期的格式化问题  DateTimeFormatter

2022-07-28 第六小组 瞒春 学习笔记_第11张图片

 

把Instant转成Date

 

把Date转成Instant

 

把Instant转成LocalDateTime

 

把LocalDateTime转成Instant

 

把Date转成LocalDateTime

2022-07-28 第六小组 瞒春 学习笔记_第12张图片

 

把LocalDateTime转成Date

2022-07-28 第六小组 瞒春 学习笔记_第13张图片

 

Math 数学类

随机数 random() double

向上取整  ceil() double

向下取整  floor()double

四舍五入  round()long

BigDecimal统计类

2022-07-28 第六小组 瞒春 学习笔记_第14张图片

 

随机类 Random

2022-07-28 第六小组 瞒春 学习笔记_第15张图片

 

Arrays——数组的工具类

数组的排序

2022-07-28 第六小组 瞒春 学习笔记_第16张图片

 

数组的查找

 

 

数组拷贝

数组的比较

 

System类——系统类

2022-07-28 第六小组 瞒春 学习笔记_第17张图片

 

Objects(工具类)JDK1.7

判断是不是空

StringBuffer和StringBuilder——可变的字符序列

和String是有本质区别的

StringBuffer不能直接用等号赋值

 

追加

2022-07-28 第六小组 瞒春 学习笔记_第18张图片

 

 

删除指定位置

 

插入

 

反转(面试会问)

 

String怎么反转?

2022-07-28 第六小组 瞒春 学习笔记_第19张图片

 

2.

2022-07-28 第六小组 瞒春 学习笔记_第20张图片

 

StringBuffer是(线程)同步的。安全,效率低

StringBuilder是异步的。不安全,效率高

面试题:三个字符串的区别

2022-07-28 第六小组 瞒春 学习笔记_第21张图片


 

 

学习时间:

  • 上午:7:30-12:00
  • 下午:1:30-5:00
  • 晚上:6:00-11:00

学习产出:

  • 对工具类有初步了解
  • 但是掌握不熟练,查询不熟练

你可能感兴趣的