20145233韩昊辰 第七周总结

20145233 《Java程序设计》第7周学习总结

教材学习内容总结

一、Lambda

-如果使用JDK8的话,可以使用Lambda特性去除重复的信息。

-在只有Lambda表达式的情况下,参数的类型必须写出来,如果有目标类型的话,在编译程序可推断出类型的情况下,就可以不写出Lambda表达式的参数类型。

-Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境,也就是看Lambda表达式是在哪个名称范畴,就能参考该范畴内的名称,像是变量或方法。

-Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作。

二、时间与日期

时间的度量

1.格林尼治标准时间

格林尼治标准时间,经常简称GMT时间,一开始是参考自格林威治皇家天文台的标准太阳时间,格林威治标准时间的正午是太阳抵达天空最高点之时,GMT时间常被不严谨的地当成是UTC时间。

2.世界时

通过观测远方星体跨过子午线而得,受地球自转速度影响有误差。

3.国际原子时(TAI)

将秒的国际单位定义为铯原子辐射振动9192631770周耗费的时间。

4.世界协调时间(UTC)

保持TAI和UT时间误差不要过大采用了闰秒修正。

年历简介

1.儒略历

修正了罗马历隔三年设置一闰年的错误,改采四年一闰。

2.格里高利历

改革了儒略历。

3.ISO 8601标准

采用统一的数据格式。

认识Date与Calendar

1.Date与DateFormat

.Date:取得系统时间,方法之一就是使用System.currentTimeMillis()方法,返回long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。Date有两个构造函数可以使用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用System.currentTimeMillis()取得毫秒数,调用getTime()可取得内部保存的epoch毫秒数值。
这里举一个书上的例子;

DateFormat:DateFormat是个抽象类,其操作类是java.text.SimpleDateFormat,可以处理字符串时间格式。可以通过DateForm的各种静态方法进行格式化,使用模式字符串自定义格式,使用parse()方法将指定的字符串剖析为Date实例。
再举一个例子

2.Calendar: 时间的运算

Date现在建议作为时间轴上的瞬间代表,要格式化时间日期则通过DateFormat,如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用Calendar实例。

Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例。

JDK8新时间日期API

1.机器时间观点的API

真正可靠的信息只有内含epoch毫秒数。同时也可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。

2.人类时间(ISO8601 标准)

1.LocalDateTime:包括日期与时间。

2.LocalDate:只有日期,设定不存在的日期时会抛出DateTimeException错误。

3.LocalTime:只有时间。

4.ZonedDateTime:当补上时区信息后组合起来的时间实际上不存在时,ZonedDateTime会自动更正。

教材学习中的问题和解决过程

这一章的内容还是比较少的,并且有很多新的东西,但是在理解方面,并没有前面的概念性的知识难理解,在将书上的代码敲过一些之后,对于这些内容就有了很好地理解, 只是书上的知识点还是蛮多的,这就需要我们花费大量的时间去理解。例如书上433页的代码,书上也讲到因为编写的日期不同,会出现小错误,并没有到他的生日,但是计算的时候会多加一岁。这需要做出修改。

代码调试中的问题和解决过程

没有在书上的代码中发现什么有错的地方。

本周代码托管截图

其他(感悟、思考等,可选)

这周的学习任务其实相比前几周少了很多,真正需要了解的只有十三章,但是老师说了十二章只是在本学期不是重点,在后面的学习中也是很重要的,所以我决定也要看看十二章的内容,为了后面学习的方便,知识都是融会贯通的,只有在将每个方面的知识都理解了,才能在以后的学习中能快的进步。
并且这周还有第二次实验,这次实验相比上次来讲复杂了一些,因为学到了新的junit的用法,以及如何建模,这都是很有用的,我在这里就不再详解,因为会在实验报告中写出自己的感想,这就是我本周的收获以及一些自己的感受。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4000行 24篇 350小时
第一周 150/150 2/2 15/15
第二周 200/350 2/4 20/35
第三周 350/700 2/6 30/65
第四周 500/1200 1/7 35/100
第五周 1100/2300 1/8 30/130
第六周 1000/3300 2/10 30/160
第七周 600/3900 2/12 25/185
posted @ 2016-04-17 13:35  20145233韩昊辰  阅读(153)  评论(4编辑  收藏  举报