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操作的共同探讨
      • 继续完善四则运算的的项目

其他(感悟、思考等,可选)

  • 一直觉得老师应该先讲课,我们再进行进一步的研究学习,毕竟老师应该先传播知识嘛,现在的模式就很舒服了,在学习过程中遇到的问题少了很多,有很多东西看到了就知道,不用像以前那样找不到专业解答,还得自己去找一个个不知道对错的答案。
  • 前一个月每晚都要去练习啦啦操,和班里同学相比少了很多学习时间,现在终于结束,必须要加紧步伐,更上老师同学的脚步呢。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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

参考资料

posted @ 2018-05-13 22:14  20172325  阅读(285)  评论(2编辑  收藏  举报