20172333 2017-2018-2 《Java程序设计》第9周学习总结

教材学习内容

第十一章

  1. 异常与错误均是对象
  2. 异常是由代码的特定方法或者操作出错。
  3. 错误是代码运行中虚拟机出现错误。
  4. 非捕获的异常会终止运行程序。
  5. try语句可以对应多个Catch语句,反之则Catch只能对应一个Try语句。
  6. try语句可以没有catch语句,但任然可以拥有finally语句。
  7. 并不是每种情况下都应该捕获异常,有时因为异常而结束程序才是正确的方法。
  8. 所有新的异常都是由Exception类派生的。
  9. Java中唯一一个无法检测的异常时RuntimeException类及其后代类对象。

第十二章

  1. 递归是一个方法内自己调用自己方法。
  2. 递归方法一定有一条If-else语句。
  3. 迭代有些时候是可以达到和递归一样的效果,如何使用应该判断。
  4. 递归中的间接递归值得是一个方法A中运用的另外一方法B,而B中的方法含有方法A。

代码调试中的问题和解决过程

  • [x] 问题1:对于PP11.2的编写过程中,将Try-catch语句放在While语句下虽然成功将异常捕获,但是while语句却无法循环了。图

  • 解决过程:后面审题发现不用使用While循环,只是到Done之后就可以退出了


教材学习中的问题和解决过程

  • [x] 问题1:异常与错误如何进行判断区分?

  • 解决过程:刚开始时我以为是可以捕获的是异常,不可捕获的是错误,后来一想不对啊,我要的是先判断是不是异常才进行捕获啊。于是我百度了一下发现其实错误是由于虚拟机出现错误才会出现,一般来说异常就是方法内部出错等一系列程序员编写错误。
  • [x]问题2:使用while中内部加入try-catch却导致while语句不在循环的问题。
    解决过程:对于该问题其实在代码调试中已经提过,为什么要在这里再提呢,因为我发现这个东西与书上try-catch中解释有矛盾,书中提到

    如果在try语句块执行的任何位置抛出了异常,并存在catch语句,则控制立刻转移到相应的catch子句处理异常。执行完之后,会控制转移到整个try-catch语句之后的语句继续执行。

按照书上的说法,while语句应该继续才对,遇事不决问百度,发现有许多人与我有着相同的情况,我找到一个最有参考价值的回答大概就是一旦捕获异常就会终结循环。

代码托管

(statistics.sh脚本的运行结果截图)


上周考试错题总结

1.A processing stream is a data stream that

A . can manage both input streams and output streams at the same time

B . performs some manipulation or process on the data

C . can only manage input streams

D . operates on input and output devices but not files

E . can manage byte streams and character streams at the same time

答案:B,我选择E。

解析:处理流相当于是将一些额外的添加到输入或输出中,就是对数据进行一些处理。

2.System.err is a(n)

A . input stream

B . GUI dialog box that indicates when an error has arisen

C . object

D . Error subclass

E . RuntimeException subclass

答案:C,我选择了A。

解析:错误也是一种输出流,都是对象。

3.PrintWriter is a better output stream class that PrintStream because PrintWriter

A . has both print and println methods and PrintStream only has print

B . can output both byte and character streams and PrintStream can only output byte streams

C . has error checking mechanisms as part of the class and PrintStream does not

D . will not throw checked exceptions and PrintStream will

E . all of the above

答案:C,我选择了A

解析:PrintStream是流类所以没有错误检查机制。

4.The difference between a checked and an unchecked exception is

A . checked exceptions need not be listed in a throws clause

B . unchecked exceptions must be listed in a throws clause

C . neither kind of exception follows the rules of exception propagation

D . an unchecked exception requires no throws clause

E . a checked exception always must be caught by a try block; an unchecked exception does not

答案:D我选择了B。

解析:一个检查的异常必须被捕获,否则它必须在抛出条款中列出。不受约束的异常不需要抛出条款。这两种例外都遵循异常传播的规则。

点评:

  • 博客中值得学习的或问题:
    李楠同学对于课本学习内容十分充实。
    在迭代与递归的差别之间使用实际的代码进行对比,鲜明且有效,值得我学习。

  • 代码中值得学习的或问题:
    在进行Git commit时的备注内容有条理且井然有序。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172330李楠
    • 结对照片
    • 结对学习内容
      • Commit内容丰富值得学习
      • 问题及处理方法记录简洁明了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 125/125 2/2 20/20
第二周 269/394 2/4 未知/38
第三周 477/920 1/5 X/X
第四周 1179/2338 1/6 --
第五周 1131/3154 1/7 ?/?
第六周 1448/4008 1/8 ?/??
第七周 957/4840 2/10 ?/???
第八周 1093/5933 2/10 ?/????
第九周 739/6672 2/10

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

有些时候,无论你怎么努力,你也编不出那种代码,明明所有代码都是正确的,从条理上明明可以输出正确的结果,但是它一定要给你乱码,从自习室开门到最后关门,你改了无数遍的代码,最后答案总是错误。到了最后的Deadline,询问别人这个到底错在了哪里,别人帮你看了代码之后不轻不重的说一句,样子好像没错,结果错了就全部删掉重新编吧。呵呵


参考资料

错误和异常,两者的区别介绍

java try-catch以及循环的问题

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

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. Java中通过方法创建一个http连接并请求(服务器间进行通信)

    服务器间进行通信只能通过流(Stream)的方式进行,不能用方法的返回值. 1.Java代码创建一个连接并请求该连接返回的数据 doGet()方法,execute()方法中调用 package dem ...

  2. Android 聊天软件客户端

    1.代码架构图 2.qq.model层 3.qq.app层 4.qq.Constatnt层 5.qq.util层 6.qq.broadcast层 7.qq.control层 8.qq.view层 9. ...

  3. linux编程之共享内存

    linux 进程间通信(IPC)包括3种机制:消息队列.信号量.共享内存.消息队列和信号量均是内核空间的系统对象,经由它们 的数据需要在内核和用户空间进行额外的数据拷贝:而共享内存和访问它的所有应用程 ...

  4. python基础===8道基础知识题

    本文转自微信公众号: 2018-03-12 leoxin 菜鸟学Python 原文地址:http://mp.weixin.qq.com/s/JJSDv5YJOZ9e3hn28zWIsQ NO.1 Py ...

  5. python实战===itchat

    import itchat itchat.login() friends=itchat.get_friends(update=True)[0:] male=female=other=0 for i i ...

  6. SSD算法及Caffe代码详解(最详细版本)

    SSD(single shot multibox detector)算法及Caffe代码详解 https://blog.csdn.net/u014380165/article/details/7282 ...

  7. JVM内存分配与回收

    1.内存分配与回收策略 内存自动管理:自动化的解决了对象内存分配和回收对象内存的问题. 一般在堆上分配对象,也可能经过JTI编译后间接在栈上分配. 主要分配在新生代的Eden区,如果启动了本地线程分配 ...

  8. 二、ansible配置简要介绍

    [defaults] # some basic default values… hostfile = /etc/ansible/hosts \\指定默认hosts配置的位置 # library_pat ...

  9. redis之(一)redis的简单介绍

    [一]:概念 --->Redis是一个开源的,高性能的,基于键值对的缓存与存储系统 --->Redis数据库中的多有数据都存储在内存中,由于内存的读写速度远快于硬盘,一秒读写超过10万键值 ...

  10. Linux下源码安装jdk

    1.到官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html