20155307 2016-2017-2 《Java程序设计》第5周学习总结
20155307 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
这两章主要讲的是如何处理程序中的异常情况,对于错误,java会将其打包成对象,可以用“try”去“catch”对象,再做处理。对于被try捕捉到的错误,jvm会立刻跳出错误点,比较catch()中声明的错误类型,如果吻合就执行catch区块中的代码。如果遇见个数类型的catch区块在做同样的事情,而且catch区块内容都是重复的,就可以使用Multi-catch,这样可以方便撰写,也方便维护。throw用在catch区块操作完部分错误处理之后,再将异常抛出。在异常和资源管理的时候可以使用finally,在调用文档时,当文档读取完或者不使用时就应该close()关闭文档,但是如果程序在Scanner.close()前发生了异常,该语句就会因中断而不被执行,finally可以和try、catch搭配,若写有fianlly区块,则finally区块就一定要被执行,将Scanner.close();写在fianlly区块中就可以避免上述情况。使用collectio可以收集对象,具有索引的List是一种Collection,在每次add()对象时,会建立新的Node来保存对象,不会事先消耗内存。 常用的Map操作类有HashMap、TreeMap与Properties三种。如果想取得Map中所有的键,可以调用Map的keySet()返回Set对象。由于键是不重复的,所以使用Set操作返回或者使用values()返回Collection对象。
教材学习中的问题和解决过程
-
问题1:Exception和RuntimeExcepiton之间的关系是什么一直没有搞懂。
-
问题1解决方案:上网上百度之后才分清的,对于判断受检异常与非受检异常容易许多。
-
问题2:在编写书上课后习题的代码时经常遇见args[0],开始并不清楚args[0]代表什么。
-
问题2解决方案:只记得在最开始学java时,要打开main方法就一定要写public static void main(String[] args),后面才知道args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名。String[ ] args表示给主方法传一个字符串数组。
代码调试中的问题和解决过程
- 没有遇到问题。
代码托管
上周考试错题总结
- 填空 :10&9 的结果是(8)
- 填空:”Hello”.charAt(1) 的值是(‘e’)
- 填空:System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”..
- 判断:XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString()). (OK)
- 判断:Java中所有的对象都有equals()方法。(OK)
- 实现一个类中的equals()方法时,一定要同时实现(hashCode())方法
- 面向对象中,设计经验可以用(设计模式)表达
- 判断:final可以用在类,方法,变量前。(OK)
- Math中的abs()方法可以Override.(X)
- 判断:接口中 int STOP等价于public static final int STOP. (ok)
- 填空:实现接口表示(拥有行为),但不是ISA关系。
- 判断:Math中的abs()方法可以Override.(X)
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
-
基于评分标准,我给本博客打分:7分。得分情况如下:
-
正确使用Markdown语法(加1分)
-
模板中的要素齐全(加1分)
-
教材学习中的问题和解决过程, 一个问题加1分(2个)
-
感想,体会不假大空的加1分
-
排版精美的加一分
-
进度条中记录学习时间与改进情况的加1分
点评过的同学博客和代码
其他(感悟、思考等,可选)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | ?/200 | 1/4 | 20/20 | |
第二周 | 300/500 | 1/5 | 18/38 | |
第三周 | 500/1000 | 1/6 | 20/58 | |
第四周 | 800/1600 | 1/7 | 21/78 | |
第五周 | 500/2100 | 1/7 | 21/78 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的 计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考(https://home.cnblogs.com/u/Hdywan/)
-
计划学习时间:29小时
-
实际学习时间:29小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)