20155322 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
本周的学习任务是课本第八第九章:
- 第八章主要是讲异常处理。这里要理解Java的错误以对象的方式呈现,只要我们学会捕捉包装错误的对象,就可以针对该错误进行处理,如最开始给的一个例子Average,在输入非Int数据的时候就会出现“InputMismatchExceptiond”的错误,所以我们要学会使用try/catch处理这样的问题。然后介绍了throwable对象,用于处理程序设计错误、介绍了继承异常、利用堆栈追踪处理异常对象等等。
- 第九章主要介绍了Java SE 自带的collection类,其中有类似add()、remove()等方法都容纳其中,主要是为了方便用户收集对象。介绍了数组在内存中的结构,以及ArrayList及其方法的相关知识。介绍了Map接口,以及利用它来操作对象建立键值对应数据,取得对应数据,详细介绍的有HashMap、TreeMap、Properties。
教材学习中的问题和解决过程
- 问题:不是很理解使用Map键值来找到对应数据的原理。
- 解决方案:在网上找到一篇文章,以哈希Map为例,解释了一下,感觉理解了一点。其实主要介绍了哈希值这个只是,再结合map的书上的解释,一下子就恍然了:其实就是给了一个确切的地址,而哈希值确保了这个地址的正确性和唯一性,这样就可以快速的寻找到我们想要的值了。
代码调试中的问题和解决过程
这周敲了很多代码,一部分是书上的,一部分是课后的操作题,遇到的问题不多,主要是算法简洁度上面的问题,可能是因为我比较保守的原因,使用的大部分是自己熟练掌握的算法,比较累赘,但是能完成题目的要求。之后对比了一下课后的参考答案,无论在代码行数还是资源占用率都比自己的程序优秀了很多,所以今后还是要更加深入的学习算法的设计,不要完成了任务就了事。
代码托管
上周考试错题总结
- 错题:1.填空:使用JDB进行调试时单步执行命令有step和next,我们优先使用(next)。
原因:没有掌握好JDB调试代码 - 错题:2. 填空:使用JDB进行调试时查看源代码的命令是(list)。
原因:这个是忘记了…… - 错题:3.CH07 填空:面向对象中,设计经验可以用(设计模式)表达.
原因:这个当时没有在树上找到。说明对书本知识还是理解不到位。
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
- 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 15篇 | 400小时 | |
第一周 | 4/4 | 1/1 | 10/10 | |
第二周 | 20/24 | 1/2 | 9/19 | |
第三周 | 80/104 | 1/3 | 10/29 | |
第四周 | 343/ 447 | 1/4 | 15/44 | |
第五周 | 748/1195 | 1/5 | 20/64 | 能够自己敲出一些简单的程序 |
-
计划学习时间:20小时
-
实际学习时间:20小时
-
改进情况:代码量增加两倍,学习时间达标。