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

参考资料

20172325 2017-2018-2 《Java程序设计》第九周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第九周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...

  2. 20145220java程序设计第九周学习总结

    20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...

  3. 201771010134杨其菊《面向对象程序设计java》第九周学习总结

                                                                      第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...

  4. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  9. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  10. 《Java》第九周学习总结

    下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新

随机推荐

  1. 中国Linux开源镜像站大全

    本文来源:各大开源软件.发行版镜像页面.       请注意这是一个总结,如果您自己搭建了一个小型开源镜像,这里并没有.以下列出的是包含大量不同镜像的站点.       具体配置中,我建议您使用大企业 ...

  2. jquery knob旋钮插件

    <!DOCTYPE html> <html> <head> <title>jQuery Knob 尝试</title> <script ...

  3. 解决maven工程 子工程中的一些配置读取进来的问题

    方案:在父工程中手动配置一些节点 <build> <!-- 插件 --> <plugins> <plugin> <groupId>org.a ...

  4. leetcode91

    class Solution { public int numDecodings(String s) { if(s.length()==0){ return 0; } int[] dp = new i ...

  5. delphi RAD Studio新版本及路线图 及官方网站 官方 版本发布时间

    delphi  RAD Studio Berlin 10.1 主要是FireMonkey 移动开发的改动,VCL确实没有多大变化. http://docwiki.embarcadero.com/RAD ...

  6. 数学公式 AS3应用

    普通做法: var pA:Point=new Point(100,100); var pB:Point=new Point(300,200); var dx:Number=pA.x-pB.x; var ...

  7. 9 并发编程-(线程)-守护线程&互斥锁

    一 .守护线程 无论是进程还是线程,都遵循:守护xxx会等待主xxx运行完毕后被销毁 需要强调的是:运行完毕并非终止运行 1.对主进程来说,运行完毕指的是主进程代码运行完毕 2.对主线程来说,运行完毕 ...

  8. oracle惯用缩写的含义

    $ORACLE_HOME/bin下的utilities解释Binary              First Available        Description----------------- ...

  9. 解决PL/SQL导出cvs文件中文显示乱码

    方法 1 导出csv格式文件 新建excel文件 比如 a.xls excel软件打开 选择菜单数据 -导入外部数据  unicode默认下一步 选择 逗号分隔符 点击确定导入完成 方法 2 导出成h ...

  10. 显示AVI的第一桢

    procedure TForm1.Button1Click(Sender: TObject);begin  Application.ProcessMessages;  MediaPlayer1.Ope ...