20155320 2016-2017-2 《Java程序设计》第7周学习总结
教材学习内容总结
时间与日期
认识时间与日期
- 时间的度量
- GMT(Greenwich Mean Time)时间:现在不是标准时间
世界时(UniversalTime,UT):1972年UTC出来之前,UT等价于GMT - 国际原子时(TAI):秒的定义
- 世界协调时间(Corrdinated Universal Time, UTC): 闰秒
- Unix时间: 1970.1.1 00:00:00开始的秒数epoch: java.util.Date epoch毫秒数
认识Date与Calendar
- Date与DateFormat
- Date只用来获取epoch毫秒数
程序DateDemo
运行结果为:
-
DateFormat来格式化成人类理解的年月日时分秒
DateFormatDemo的程序运行结果为:
运行结果为:
-
Calendar: 时间的运算
-
getInstance(): 用来取得Calendar实例
-
getTime():取得Date实例
-
get():指定取得实例上的字段枚举常数
-
add():改变实例的时间
-
roll():只针对日期中某个字段加减
-
after():比较两个实例的日期先后
-
before():同上
...
JDK8新时间日期API
- 人类时间(ISO8601 标准)
- LocalDateTime:包括日期与时间
- LocalDate:只有日期
- LocalTime:只有时间
- ZonedDateTime:时区的日期与时间
- OffsetdateTime:代表UTC偏移量
- Year:表示年
- YearMonth:表示年月
- Month:表示月
- MonthDay:表示月日
教材学习中的问题和解决过程
- 问题1:UTC的闰秒修正具体是怎么进行的
- 问题1解决方案:通过查找相关资料,发现
是指为保持协调世界时接近于世界时时刻,由国际计量局统一规定在年底或年中(也可能在季末)对协调世界时增加或减少1秒的调整。闰秒一般加在公历年末或公历六月末
代码调试中的问题和解决过程
- 问题1:在编写程序MingGuoDemo时,由于书上代码的public 类为MinguoDemo 但是我在编写程序时错把它打成了MingGuoDemo,所以在编译时出现了如下错误:
- 问题1解决方案:将public类改为我所设定的MingGuoDemo
后出现了正确的运行结果如下:
代码托管
上周考试错题总结
-
- 下面哪条命令可以把 f1.txt 复制为 f2.txt ?(AC)
A .
cp f1.txt f2.txt
B .
copy f1.txt f2.txt
C .
cat f1.txt > f2.tx
D .
cp f1.txt | f2.tx
E .
copy f1.txt | f2.tx
- 15.Assuming / is the root directory, which of the following are true statements? (Choose all that apply.)(A)
A .
/home/parrot is an absolute path.
B .
/home/parrot is a directory.
C .
/home/parrot is a relative path.
D .
The path pointed to from a File object must exist.
E .
The parent of the path pointed to by a File object must exist.
- 9.现有
1.class Calc {
2. public static void main(String [] args) {
3. try {
4. int x = Integer.parselnt ("42a") ;
5. //insert code here
6. System.out.print ("oops");
7. }
8. }
9. }
下面哪行分别插入到第五行,会导致输 "oops" ?(AC)
A .
catch (IllegalArgumentException e) {
B .
} catch (IllegalStateException c) {
C .
} catch (NumbelFormatException n) {
D .
} catch (ClassCastException c) {
结对及互评
博客中值得学习的或问题:
- 将书中的知识点分门别类用自己的理解逐条列出,方便记忆和学习
- 代码中值得学习的或问题: 代码学习较上周较少
- 希望能将自己在代码上遇到的困难记录下来
基于评分标准,我给本博客打分:10分。得分情况如下:
1.正确使用Markdown语法(加1分)
2.模板中的要素齐全(加1分)
3.本周有效代码超过300分行的(加2分)
4.排版精美的加一分
5.进度条中记录学习时间与改进情况的加1分。
6.错题学习深入的加1分。
7.有动手写新代码的加1分。
8.结对学习情况真实可信的加1分
点评过的同学博客和代码
- 本周结对学习情况
- 20155326
- 结对照片
- 结对学习内容
- 粗略了解了一下Lambda的相关内容
- 详细学习了第十三章的内容与代码
其他(感悟、思考等,可选)
这周主要学习了第十三章时间与日期的相关内容,这在C语言中是没有接触过感到很新鲜,自己还尝试编了一个计算自己从出生到现在有多少天的改进版小程序,感到很有趣,和前几个星期略显枯燥的学习感觉不同。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 15篇 | 400小时 | |
第一周 | 20/20 | 1/4 | 20/20 | 安装了JDK及IDEA |
第二周 | 144/164 | 1/5 | 18/38 | 学习了java语言的基本语法 |
第三周 | 447/567 | 1/6 | 20/ 58 | 掌握了一些有关对象和封装的内容 |
第四周 | 875/ 1442 | 1/7 | 23/81 | 学习了解了继承、接口和多态的相关问题 |
第五周 | 775/2250 | 1/8 | 25/106 | 学习了异常处理以及Collection与Map相关的内容 |
第六周 | 487/ 2706 | 1/9 | 22/128 | 学习了输入输出 |
第七周 | 529/3127 | 2/11 | 20/148 | 学习了时间与日期 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:22小时
-
实际学习时间:20小时
-
改进情况:本周主要学习第13章的内容,内容并不太复杂但是由于本周有实验所以稍微准备了些时间。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)