学号20155311 2016-2017-2 《Java程序设计》第7周学习总结
教材学习内容总结
- 时间的度量 格林威治时间,简称GMT时间,由观察太阳而得来;世界时,UT;国际原子时,TAI;世界协调时间,UTC;Unix时间,以1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒修正;epoch,以1970年1月1日00:00:00为起点而经过的毫秒数。
- 年历简介 儒略历,四年一闰;格里高利历改革了儒略历;ISO 8601标准在数据定义上大部分与格里高利历相同。 认识时区 日光节约时间。
- Date 使用Date实例的各getTime可以获得epoch毫秒数,**Data实例只用来当做时间轴上的某一瞬间;利用DataFormat可以对字符串格式进行处理,分别有GetDateInstance、GetTimeInstance、GetDateTimeInstance
DateFormat java.text.DateFormat复责字符串时间格式处理,DataFormat是个抽象类,其操作类为java.text.SimpleDataFormat,getDataInstance()、getTimeInstance()、getDataTimeInstance()等静态用法。 - Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 例:Calendar cal = Calendar.getInstance();使用默认时区和语言环境获得一个日历。 cal.add(Calendar.DAY_OF_MONTH, -1);取当前日期的前一天. cal.add(Calendar.DAY_OF_MONTH, +1);取当前日期的后一天
- 机器时间观点的API Date实例只代表机器观点的时间信息;使用Instant的静态方法now()取得Instant实例,ofEpochMilli()可以指定Java epoch毫秒数,ofEpochSecod()指定秒数;取得Instant实例后,可以使用plusSecond()、plusMillis()、plusNanos()、minusSeconds()、minusMillis()、 MinusNanos()做时间轴上的运算,返回新的Instant实例,代表运算后的时间。
- 人类时间观点的API Date实例只代表机器观点的时间信息;在上面那些类的基础上可以使用ZonedDateTime等来进行补充;Month是enum类型,取得代表月份的数字,取得月份要通过getValue()方法,而不是使用oridinal()方法。
-
TemporalAmount 时间计量,新时间和日期用API用类Duration来定义,对于年、月、日、星期的日期差,可使用Period类定义,静态方法ofDays()、ofMonths()、ofWeeks(),返回Period实例。
教材学习中的问题和解决过程
第十二章第十三章感觉还好,第四五六七章的内容才是java核心内容,比较抽象。之后的内容都是介绍各种API的应用,都是活生生的例子,比较具体,如果觉得难那是因为对这部分知识感到陌生,不熟悉
代码调试中的问题和解决过程
java.time.LocalDate:LocalDate是一个不可变的类,它表示默认格式(yyyy-MM-dd)的日期,我们可以使用now()方法得到当前时间,也可以提供输入年份、月份和日期的输入参数来创建一个LocalDate实例。该类为now()方法提供了重载方法,我们可以传入ZoneId来获得指定时区的日期。
[代码托管]http://git.oschina.net/bestiisjava2017/gaoziyun20155311/tree/master/%E7%AC%AC%E5%85%AB%E5%91%A8/src?dir=1&filepath=%E7%AC%AC%E5%85%AB%E5%91%A8%2Fsrc&oid=e058edd0ce8eab4a4fc3081d53b720f2a16b4c11&sha=e64d70f883c4fe4b988448c51c896b426e52e7fc
(statistics.sh脚本的运行结果截图)
上周考试错题总结
调用线程的interrupt()方法 ,会抛出()异常对象?
A .
IOException
B .
IllegalStateException
C .
RuntimeException
D .
InterruptedException
E .
SecurityException
正确答案: D E现有
class Calc {
public static void main(String [] args) {
try {
int x = Integer.parselnt ("42a") ;
//insert code here
System.out.print ("oops");
}
}
}
下面哪行分别插入到第五行,会导致输 "oops" ?
A .
catch (IllegalArgumentException e) {
B .
} catch (IllegalStateException c) {
C .
} catch (NumbelFormatException n) {
D .
} catch (ClassCastException c) {
正确答案: A C
结对及互评
评分标准
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
- 本周结对学习情况
- 20155305
- 结对照片
- 结对学习内容
- XXXX
- XXXX
- ...
- 上周博客互评情况
- [20155309南皓芯]:(http://www.cnblogs.com/nhx19970709/p/6658806.html)
- [20155217杨 笛]:(http://www.cnblogs.com/yangdi0420/p/6658701.html)
- [20155213陆忠民]:(http://www.cnblogs.com/elevator/p/6659461.html)
- [20155227辜彦霖]:(http://www.cnblogs.com/guyanlin/p/6657773.html)
其他(感悟、思考等,可选)
本周的内容比较少,我感觉比前几章易于理解,大部分书上的代码敲进去后都运行成功了,给了我很大的信心。这两周除了学习以外学生活动那边也比较忙碌,过了这段时间
我想我或许应该加大投入java学习的时间。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 | |
第五周 | 280/1260 | 1/5 | 14/70 | |
第六周 | 478/1738 | 2/7 | 16/86 | |
第七周 | 1400/4000 | 10/30 | 145/400 | |