20155328 2016-2017-2 《Java程序设计》第7周学习总结
教材学习内容总结
-
时区
-
Date与DateFormat
-
Date只用来获取epoch毫秒数
-
DateFormat来格式化成人类理解的年月日时分秒
-
-
Calendar: 时间的运算
-
getInstance(): 默认取得GregorianCalendar(Calendar的子类)实例。
-
get():取得年月日等时期时间字段(指定字段枚举常数:Calendar.YEAR, ~.MONTH, ~.DATE)注意:get(Calendar.MONTH比正常值小1)
-
add():正数为加,负数为减;eg:calendar.add(Calendar.YEAR,-2);
-
before():比较是否在某个日期前;after():比较是否在某个日期后
-
getTimeZone("ID字符串"):java.util.TimeZone的方法
-
-
教材学习中的问题和解决过程
-
问题1:正在学教材432页How Old程序的时候狄维佳同学回来了,告诉我可以让输出结果变成四百多岁,就将程序最后的L去掉了,输出结果变成了四百多。
-
解决方案:最后的L是强制类型转换,输出的实际结果已经超过了int范围,在二进制中只保留其最后32位。
-
问题2:对clone的用法不是很理解。
-
解决方案:在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在 Java语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段。
代码调试中的问题和解决过程
-
问题1:在拷贝书上代码运行时,出现了下图这样的标红错误:
-
问题1解决方案:发现是没有撰写dateTimeInstanceDemo,写了就好了。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
1
(多选题|1分)
下面哪条命令可以把 f1.txt 复制为 f2.txt ?
:
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
copy是Windows下的命令。cat f1.txt > f2.tx 通过输出重定向实现了复制。
6
(多选题|1分)
如果有以下代码段:
Thread thread = new Thread(new ________________() {
public void run() {...}
});
空白部分指定哪些类型可以通过编译?
:
A .
Runnable
B .
Thread
C .
Future
D .
Executor
查API文档,Thread 也实现了 Runnable 接口
10
(多选题|1分)
Given an instance of a Stream, s, and a Collection, c, which are valid ways of creating a parallel stream? (Choose all that apply.)
给定一个Stream的实例s, 一个Collection的实例c, 下面哪些选项可以创建一个并行流?
:
A .
new ParallelStream(s)
B .
c.parallel()
C .
s.parallelStream()
D .
c.parallelStream()
E .
new ParallelStream(c)
F .
s.parallel()
D、F没有阶级parallelstream,所以A和E是不正确的。方法定义在流类从现有流创建一个并行流parallel();因此F是正确的,C是不正确的。方法中定义的类创建从一个集合的并行流parallelstream();因此D是正确的,B是不正确的。
15.(单选题|1分)
Assuming / is the root directory, which of the following are true statements? (Choose all that apply.)
:
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
根目录开始的路径是绝对路径,所以A是正确的,C是错误的。B是不正确的,因为路径可能是文件系统中的文件或目录。文件对象可以指向文件系统中不存在的路径,所以D和E是错误的。
点评过的同学博客和代码
- 本周结对学习情况
- [20155325](http://www.cnblogs.com/GDDFZ/p/6683560.html)
- 结对照片
其他(感悟、思考等,可选)
这周学习的内容少了很多,再加上实验,感觉自己提升了一些学习效率,也更加注重了思考。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 8/8 | 1/1 | 20/20 | |
第二周 | 164/172 | 1/2 | 25/45 | |
第三周 | 248/420 | 1/3 | 25/70 | |
第四周 | 465/885 | 1/4 | 25/95 | |
第五周 | 390/1275 | 1/5 | 15/110 | |
第六周 | 626/1901 | 1/6 | 24/134 | |
第七周 | 269/2170 | 2/8 | 20/154 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:24小时
-
实际学习时间:20小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)