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解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
上周考试错题总结

分析:这个题出错主要是由于对于概念的理解不够清楚。重载只是为具有不同参数列表的方法提供了替代方法。重写提供了多态性,因为根据当前正在引用的对象调用适当的方法。嵌入是类中的类的封闭。抽象与多态性无关。封装是通过使用可见性修饰符(公共的、私有的、受保护的)实现的。

Upcasting是完全安全的,它是Java支持的单一继承结构的产物。相比之下,Downcasting必须由程序员明确地完成。Java只在一个方向上进行强制转换。upcasting和downcasting的规则并不依赖于使用中的可见性修饰符。

虽然继承和接口支持多态性,但只有在具有后期绑定的情况下才会这样做。但是,重载是多态性的一种形式(方法)名称,多个主体,因此只要程序使用重载,多态性就会被使用。
结对及互评
点评模板:
- 博客中值得学习的或问题:
- 刘辰同学在博客记录问题上面比以前更加细致了,对于问题的描述和解决过程逗比以前更好,希望继续努力;
- 在排版上好像出了点问题,教材问题一的图片好像出现了超出界面的情况,希望改正。
- 代码中值得学习的或问题:
基于评分标准,我给本博客打分:满分。
点评过的同学博客和代码
- 本周结对学习情况
- 20172306
- 结对学习内容
- 学习第十一和十二章pp项目。
- 学习异常和递归的具体内容
- 对于IO操作的共同探讨
- 继续完善四则运算的的项目
其他(感悟、思考等,可选)
- 一直觉得老师应该先讲课,我们再进行进一步的研究学习,毕竟老师应该先传播知识嘛,现在的模式就很舒服了,在学习过程中遇到的问题少了很多,有很多东西看到了就知道,不用像以前那样找不到专业解答,还得自己去找一个个不知道对错的答案。
- 前一个月每晚都要去练习啦啦操,和班里同学相比少了很多学习时间,现在终于结束,必须要加紧步伐,更上老师同学的脚步呢。
学习进度条
目标 |
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 |
|
参考资料
20172325 2017-2018-2 《Java程序设计》第九周学习总结
原文:https://www.cnblogs.com/20172325DYK/p/9033676.html