教材学习内容总结
-
Java语言中所有的错误都会包装为对象。使用
try
、catch
可以对对象做处理。 -
设计错误对象都继承自java.lang.Throwable类。Throwable定义了取得错误信息,堆栈追踪等方法。
有两个子类:Java.lang.Error与java.lang.Exception -
Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常。
-
在catch区块进行完部分错误处理之后,可以使用
throw
将异常抛出。 -
无论try区块中有无异常发生,若撰写有finally区块,则finally区块一定会被执行
-
collection API。
Java的Collection API都支持泛型 -
java中许多要判断对象是否重复时,都会调用hashCode()与equals()方法。
-
Map API
-
如果想要取得Map中的所有键,可以调用Map的
keySet()
返回Set对象。由于键是不重复的。如果想取得Map中所有的值,则可以使用values()
返回Collection对象。
static void forEach(Collection collection) {
Iterator iterator = colleciton.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
static void forEach(Iterable iterator) {
for(Object o: iterable){
System.out.println(o);
}
}
教材学习中的问题和解决过程
- 问题1:collection架构与Map架构的相同以及不同之处?
- 问题1解决方案:通过看资料以及网上寻找答案,初步解决。
- 都是集合类的接口。
但是Collection是存储一组数据的,比如Set,List,Queue.这些接口都是继承Collection的。
而Map是按键值对存储的,有key和value,关注点在key的使用。
- 问题2:set,list,map类接口的区别。
- 问题2解决方案:收集资料,解决问题。
-
java.util.Set接口及其子类,set提供的是一个无序的集合;
java.util.List接口及其子类,List提供的是一个有序的集合;
java.util.Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构
代码调试中的问题和解决过程
-
问题1:编译过程中出现
collection.java
使用了未经检查或不安全的操作,请使用-Xlint:unchecked
重新编译 -
问题1解决方案: 不影响程序运行。出现问题的原因在于泛型。
解决方案为在定义前加@SuppressWarnings("unchecked")
-
问题2解决方案:XXXXXX
-
...
代码托管
- 代码提交过程截图
上周考试错题总结
-
使用JDB进行调试时查看源代码的命令是(list)
-
10&9 的结果是 8
-
”Hello”.charAt(1) 的值是(‘e’)
-
XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString())
-
抽象类的子类可以是抽象类也可以不是
-
”Hello”.substring( 0,2 )的值是“He”
-
实现一个类中的equals()方法时,一定要同时实现(hashCode())方法
-
接口中 int STOP等价于public static final int STOP
-
面向对象中,设计经验可以用(设计模式)表达
-
用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})
-
父类和子类要有(ISA 或“是一种”)关系
结对及互评
-
结对 [20155216](http://www.cnblogs.com/LeeX1997/)
-
点评:李玺同学一周打的代码非常多,每天的有效代码量在100行以上,值得我们学习。
同时,也按照了模板和Markdown写博客。
不足之处在于没有对代码进行更多的创新,在Java的学习中投入了太多时间。
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
-
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
其他(感悟、思考等,可选)
对于Java程序中出现的错误有了新的认识和更深的体会,对于异常处理有了理解。
各种不同类型的API标准了JAVA。
API对于Java和对于Java的学习来说,都是尤其重要的。
不断敲代码能积累经验,包括避免输入、语法错误。处理异常错误,可以使用JDB调试程序。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/4 | 8/12 | |
第二周 | 70/80 | 2/5 | 16/28 | |
第三周 | 120/200 | 3/6 | 12/40 | |
第四周 | 300/500 | 4/7 | 20/60 | |
第五周 | 500/1000 | 5/8 | 15/75 | 学会了使用手机软件,网络资源帮助自己学习。 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:20小时
-
实际学习时间:15小时
-
改进情况:代码量较之前有增进
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)