20155203 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结
1.Lambda表达式。(使用interface函数接口)
2.Lambda的方法参考MethodReference
(Don't repeat yourself)
3.Lambda项目中的function和stream
4.时间格式设定
教材学习中的问题和解决过程
- 问题1:教材代码案例中的"->"是什么意思
- 问题1解决方案:Java8的lambda表达式。就是匿名函数。
- 问题2:ZonedDateTimeDemo.java程序运行结果中数字是什么意思?
- 问题2解决方案:通过自主敲代码验证发现是机器运行起止的毫秒数
代码调试中的问题和解决过程
- 问题1:如何针对一个自定义的类建立数组并通过循环输入为其属性值赋值,例如,
Student[] s = new Student();
Scanner input = new Scanner(System.in);
for(int i = 0;i<10;i++)
{
s.setscore(input.nextInt());
}
会出现NullPointerException的抛出异常
- 问题1解决方案:
第一种方法是将数组改为ArrayList
用add()
方法
第二种方法是先将定义一个基本int
类型数组,对其进行循环赋值,再对这里的student类的属性赋值。
问题2:git bash here 的时候出现如下图情况:
问题2解决方法:使用键盘上的up、down键再按回车回复输入指令状态
代码托管
上周考试错题总结
-
错题1:定义新线程时,可以继承哪个类:Thread
原因:认为Runnable是Thread的父类,所以在不确定的情况下选择了父类,之后还有几题也是这个原因。
-
错题2:使线程进入阻塞状态:答案缺
interrupt()
原因:没有认真总结相同功能的方法。
错题3: 3. import java.util.*;
4. class ForInTest {
5.static List list=new ArrayList();
6.
7.public static void main (String [] args) {
8.list. add("a"); list. add("b");list. add( "c");
9. //insert code here
10. System.out.print (o);
11. }
12. }
哪一行插入到第9行将导致输出“abc"?D
A .
for (Iterator o : list.iterator(); o.hasNext (); )
B .
for (Iterator o : list)
C .
for (Object o : list.iterator())
D .
for (Object o : list)
原因: 对增强式循环理解不到位。
- 大多数错题都是因为多选题少选的情况还有英文题目不太理解,以后要多总结多归纳。
结对及互评
点评过的同学博客和代码
其他(感悟、思考等,可选)
在编程之前应该认真思考一下再开始敲,否则就会导致敲的时候虽然很快,但是改正的时间也很长。常常会导致心态崩溃。
在网上查一个代码问题的时候有一个人这样说:如果不会自己断点调试,那编程的时候永远都是门外汉!尽快熟练掌握IDEA的使用方法 。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2500行 | 30篇 | 400小时 | |
第一周 | 80/100 | 1/1 | 20/20 | |
第二周 | 180/280 | 2/2 | 30/38 | 可以用Java语言独立的编写一些具有基本结构的程序 |
第三周 | 504/784 | 3/3 | 22/25 | |
第四周 | 690/1474 | 4/4 | 25/30 | 基本可以使用父类和子类进行简单的定义和调用 |
第五周 | 807/2281 | 5/5 | 25/25 | 进行基本的查错和抛出或直接在程序中改正,理解收集对象的含义 |
第六周 | 1373/3654 | 6/6 | 25/25 | 正确使用输入输出系统和线程的一些方法和接口,了解了一些线程环境下的注意事项 |
第七周 | 623/4508 | 2/8 | 25/172 | 了解了Lambda表达式的便捷和漏洞,学会设置时间格式 |
计划学习时间:25小时
实际学习时间:25小时
改进情况:
学会使用断点调试测试修改程序