20155327 2016-2017-4 《Java程序设计》第七周学习总结
教材学习内容总结
了解Lambda语法
包含三个部分
一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数
一个箭头符号:->
方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{}来包裹起来,且需要一个return 返回值,但有个例外,若函数式接口里面方法返回值是void,则无需{}
lambda表达式的结构:
参数可以是零个或多个;
参数类型可指定,可省略(根据表达式上下文推断);
参数包含在圆括号中,用逗号分隔;
表达式主体可以是零条或多条语句,包含在花括号中;
表达式主体只有一条语句时,花括号可省略;
表达式主体有一条以上语句时,表达式的返回类型与代码块的返回类型一致;
表达式只有一条语句时,表达式的返回类型与该语句的返回类型一致。
了解方法引用
引用静态方法 ContainingClass::staticMethodName
引用某个对象的实例方法 containingObject::instanceMethodName
引用某个类型的任意对象的实例方法 ContainingType::methodName
引用构造方法 ClassName::new
了解Fucntional与Stream API
标准的API的函数接口:
(1)Consumer函数接口:接受一个自变量,处理后不返回值时,就使用Consumer接口。主要是接受单一对象实例作为自变量,这行为就像是直接消耗了自变量,若真的有结果产生,会以副作用(Side Effect)形式显示,例如改变某对象状态或是直接进行输入输出行为。
(2)Function函数接口:接受一个自变量,然后以该自变量进行计算后传回结果,就可以使用Function接口。这个行为就像是数学函数,例如y=f(x)是根据x的值来计算y的值。
(3)Predicate函数接口:接受一个自变量,然后只传回boolean值,也就是根据传入的自变量直接论断真假的行为,就可以使用Predicate接口。
(4)Supplier函数接口:不接受任何自变量,然后传回值,就可以使用Supplier接口。既然不接受自变量,则返回来源有几个可能性,例如提供容器、固定值、某时间某事物的状态等等。
掌握Date与Calendar的应用
Date:
1.使用Date类代表当前系统时间
Date d = new Date();
System.out.println(d);
2,使用Date类代表指定的时间
Date d1 = new Date(2009-1900,3-1,9);
System.out.println(d1);
Calendar:
1、使用Calendar类代表当前时间
Calendar c = Calendar.getInstance();
2、使用Calendar类代表指定的时间
Calendar c1 = Calendar.getInstance();
c1.set(2009, 3 - 1, 9);
教材学习中的问题和解决过程
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
代码调试中的问题和解决过程
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1:调用线程的interrupt()方法 ,会抛出()异常对象?
A .
IOException
B .
IllegalStateException
C .
RuntimeException
D .
InterruptedException
E .
SecurityException
答案:DE
- 现有
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分
点评模板:
-
博客中值得学习的或问题:
写的很详细 -
基于评分标准,我给本博客打分:11分。得分情况如下
1.正确使用Markdown语法(加1分):
2.模板中的要素齐全(加1分)
3.教材学习中的问题和解决过程, 一个问题加1分,加2分
4.代码调试中的问题和解决过程, 一个问题加1分,加2分
5.本周有效代码超过300分行的(加2分)
6 其他加分:
代码Commit Message规范的加1分
排版精美+1分
错题学习深入的加1分
点评过的同学博客和代码
-
本周结对学习情况
- [20155329]http://www.cnblogs.com/hpl20155329/p/6685059.html
- 结对照片
-
上周博客互评情况
20155205 郝博雅 http://www.cnblogs.com/haoliberale/p/6657856.html
20155222 卢梓杰 http://www.cnblogs.com/20155222lzj/p/6659966.html
20155229 付钰涵 http://www.cnblogs.com/fyhtvxq/p/6658674.html
20155336 虎光元 http://www.cnblogs.com/hxl681207/p/6656982.html
20155227 李百乾 http://www.cnblogs.com/l97----/p/6660259.html
20155216 李玺 http://www.cnblogs.com/LeeX1997/p/6657222.html
其他(感悟、思考等,可选)
xxx
xxx
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 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 |