您的位置:首页 > 其它

20145233韩昊辰 第七周总结

2016-04-17 13:35 197 查看

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/1502/215/15
第二周200/3502/420/35
第三周350/7002/630/65
第四周500/12001/735/100
第五周1100/23001/830/130
第六周1000/33002/1030/160
第七周600/39002/1225/185
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: