学号20145336 《Java程序设计》第3周学习总结
教材学习内容总结
Lambda
在我们编写程序时,可以使用Lambda特性去除重复的信息。Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境,也就是看Lambda表达式是在哪个名称范畴,就能参考该范畴内的名称,像是变量或方法。Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作。在只有Lambda表达式的情况下,参数的类型必须写出来,如果有目标类型的话,在编译程序可推断出类型的情况下,就可以不写出Lambda表达式的参数类型。
时间的度量
- 格林尼治标准时间
格林尼治标准时间,经常简称GMT时间,一开始是参考自格林威治皇家天文台的标准太阳时间,格林威治标准时间的正午是太阳抵达天空最高点之时,GMT时间常被不严谨的地当成是UTC时间。
- 世界时
通过观测远方星体跨过子午线而得,受地球自转速度影响有误差。
- 国际原子时(TAI)
将秒的国际单位定义为铯原子辐射振动9192631770周耗费的时间。
- 世界协调时间(UTC)
保持TAI和UT时间误差不要过大采用了闰秒修正。
- Unix时间
Unix系统时间表示法,定义为UTC时间1970年1月1日为起点经过的秒数,不考虑闰秒修正。
- epoch
某个特定时间开始,时间轴上的某一瞬间。
年历
- ISO 8601标准
统一时间日期的数据交换格式,例如:yyyy-mm-ddTHHH:MM:SS.SSS等。
- UTC偏移
精度每15度偏移1小时,通常表示Z符号。
认识date与calendar
-
Date:可以用来取得系统时间,使用System.currentTimeMillis()方法,返回long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。Date有两个构造函数可以使用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用System.currentTimeMillis()取得毫秒数,使用Date实例的各getTime可以获得epoch毫秒数。
-
DateFormat:DateFormat是个抽象类,其操作类是java.text.SimpleDateFormat,可以处理字符串时间格式。方法:GetDateInstance、GetTimeInstance、GetDateTimeInstance、 直接构建SimpleDateFormat。
-
处理时间日期的Calendar:date现在建议作为时间轴上的顺势代表,要格式化时间日期则通过dateformat,如果想要取得某个时间如期信息,或者对时间日期进行操作,可以使用calendar实例进行运算来改变。
-
TimeZone:TimeZone的getdefault可以取得默认时区的信息。
新时间日期API
- 机器时间观点的API
真正可靠的信息只有内含epoch毫秒数。同时也可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。
- 人类时间(ISO8601 标准)
1.LocalDateTime:包括日期与时间。
2.LocalDate:只有日期,设定不存在的日期时会抛出DateTimeException错误。
3.LocalTime:只有时间。
4.ZonedDateTime:当补上时区信息后组合起来的时间实际上不存在时,ZonedDateTime会自动更正。
- 对时间的运算
TemporalAmount:TemporalAmount的操作类是Period和Duration。ofPattern()是java.time.format.DateTimeFormatter的静态方法,对于年、月、星期、日的日期差使用Period类定义,plus()方法可以接受Duration实例来计算,对于时间计量,类Duration来定义。
其他(感悟、思考等,可选)
本周主要学习了第13章的知识点,感觉相比前几章还是有所不同的。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 150/150 | 1/1 | 15/15 | |
第二周 | 150/400 | 1/2 | 15/30 | |
第三周 | 150/550 | 1/3 | 20/50 | |
第四周 | 150/700 | 1/4 | 16/56 | |
第五周 | 150/850 | 1/5 | 19/65 | |
第六周 | 150/1000 | 2/7 | 23/88 | |
第七周 | 150/1150 | 2/9 | 22/110 |