20172325 2017-2018-2 《Java程序设计》第九周学习总结
20172325 2017-2018-2 《Java程序设计》第九周学习总结
教材学习内容总结
异常
1.学习了异常的基本概念;
2.区分异常与错误:
- 一个异常是指一个定义非正常情况或错误的对象,由程序或运行时环境抛出,可以根据需要进行相应的捕获和处理。而错误类似于异常,但是错误代表不可恢复的问题并且必须捕获处理。
- 一个异常确实代表了一个错误,但是异常只是代表了一种意外的情况,即一种在正常条件下不会发生的情况,异常处理提供了一种处理异常的有效方式。
3.处理异常的三个基本方法: - 根本不处理异常
- 当异常发生时处理异常
- 在程序某个位置集中处理异常
4.try-catch语句 - 没有异常,将继续执行try语句后的语句块,所有catch子句后的语句。
- 有异常,则控制立刻转移到相应的catch子句处理异常。
5.finally语句 - 一条try-catch语句可以有一个可选的finally子句,用于定义一段无论是否有异常发生都将执行的代码。
- 如果有finally子句,则必须跟在所有的catch子句后面。
- try语句块可以没有catch子句,但仍然可以使用finally子句。
递归
1.递归思想:递归是一种方法能够调用自己的编程技术,掌握递归编程的关键是能以递归的思想考虑问题;
2.无穷递归的情况类似于无限循环;
3.直接递归和间接递归:
- 方法调用自己的递归,称为直接递归;
- 如果一个方法调用其他方法,最终导致再次调用自己,则称为间接递归。
4.递归的经典应用是迷宫旅行和汉诺塔问题;
教材学习中的问题和解决过程
- 问题1:当学习了异常的概念和解决办法以后,我想异常和错误有什么差别,为什么错误不能用解决异常的方法在处理。
- 问题1解决方案:在教材的思考题中学到了错误和异常的区别:
异常:是一个定义非正式情况或错误的对象,由程序或者运行时环境抛出,可以根据需要捕获和处理。
错误:错误类似于异常,但是错误代表不可恢复的问题并且必须捕获处理。
然而到了这里,我依旧不知道为什么不能用相同的办法处理,于是查找了相关资料,意识到他们相似但是不完全一样,主要差异在运行时出现错误的等级,相比较来说“错误”等级更高。
代码调试中的问题和解决过程
-
问题1:在完成课堂实践时出现了一个代码运行结果始终为1的情况,而且错误点还无限
-
问题1解决方案:问了王老师,他说这就是无穷递归的情况,问题出在if-else语句上面,做了如下改进,运行便成功了,着加深了我对无穷递归的理解。
代码托管
脚本截图
上周考试错题总结
分析:这个题出错主要是由于对于概念的理解不够清楚。重载只是为具有不同参数列表的方法提供了替代方法。重写提供了多态性,因为根据当前正在引用的对象调用适当的方法。嵌入是类中的类的封闭。抽象与多态性无关。封装是通过使用可见性修饰符(公共的、私有的、受保护的)实现的。
Upcasting是完全安全的,它是Java支持的单一继承结构的产物。相比之下,Downcasting必须由程序员明确地完成。Java只在一个方向上进行强制转换。upcasting和downcasting的规则并不依赖于使用中的可见性修饰符。
虽然继承和接口支持多态性,但只有在具有后期绑定的情况下才会这样做。但是,重载是多态性的一种形式(方法)名称,多个主体,因此只要程序使用重载,多态性就会被使用。
结对及互评
点评模板:
-
博客中值得学习的或问题:
- 刘辰同学在博客记录问题上面比以前更加细致了,对于问题的描述和解决过程逗比以前更好,希望继续努力;
- 在排版上好像出了点问题,教材问题一的图片好像出现了超出界面的情况,希望改正。
-
代码中值得学习的或问题:
- 好
- 很好
- 非常好
-
基于评分标准,我给本博客打分:满分。
点评过的同学博客和代码
- 本周结对学习情况
- 20172306
- 结对学习内容
- 学习第十一和十二章pp项目。
- 学习异常和递归的具体内容
- 对于IO操作的共同探讨
- 继续完善四则运算的的项目
- 20172306
其他(感悟、思考等,可选)
- 一直觉得老师应该先讲课,我们再进行进一步的研究学习,毕竟老师应该先传播知识嘛,现在的模式就很舒服了,在学习过程中遇到的问题少了很多,有很多东西看到了就知道,不用像以前那样找不到专业解答,还得自己去找一个个不知道对错的答案。
- 前一个月每晚都要去练习啦啦操,和班里同学相比少了很多学习时间,现在终于结束,必须要加紧步伐,更上老师同学的脚步呢。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 129/129 | 1/1 | 20/20 | |
第二周 | 359/488 | 1/2 | 18/38 | |
第三周 | 521/1009 | 2/4 | 22/60 | |
第四周 | 1057/2066 | 1/5 | 30/90 | |
第五周 | 636/2702 | 1/6 | 30/120 | |
第六周 | 489/3191 | 1/7 | 28/158 | |
第七周 | 831/4022 | 1/8 | 41/199 | |
第八周 | 382/4404 | 3/11 | 16/215 | |
第九周 | 1301/5705 | 2/13 | 28/243 |