20162306 2016-2017-2《程序设计与数据结构》第八周学习总结

20162306 2016-2017-2《程序设计与数据结构》第八周学习总结

教材学习内容总结

本周学习了第十章的相关内容,主要学习了:

  • 1、异常处理:错误和异常代表不常见的或不正确处理的对象;
  • 2、不捕获异常:抛出异常时输出的消息提供了方法调用栈的轨迹;
  • 3、try—catch语句:每个catch子句处理try块中可能抛出的一种特定类型的异常、finally子句:不管是正常退出try块,还是因抛出一个异常而退出,都要执行finally子句;
  • 4、异常传播:如果没有在异常发生处捕获及处理它,这个异常将被传播给调用的方法;
  • 5、异常类的层次:必检异常和免检异常,方法头中的throws子句必须包含本方法中没有捕获及处理的必检异常;
  • 6、I/O异常:流是字节的顺序序列,它可以用做输入源或是输出的目的地。

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

  • 问题:关于节点流和处理流的相关内容不太清楚。

  • 解决过程:上网查阅相关博客

    节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader

    处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。
    如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过
    其他流的多次包装,称为流的链接。

    博客中还写出了一些常用的节点流和处理流。

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

  • 问题:关于throw与throws用法
  • 解决过程:通过上网查阅博客
    throw是语句抛出一个异常。
    语法:throw (异常对象);
    throw e;

throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
语法:(修饰符)(返回值类型)(方法名)([参数列表])[throws(异常类)]{......}
public void doA(int a) throws Exception1,Exception3{......}

代码托管

  • 代码提交过程截图:

  • 代码量截图:

上周考试错题总结

1、假设Horse是Animal的子类,且都不是抽象类。下面哪项是无效的声明和初始化?(B)
A .Horse h = new Horse();
B .Horse h = new Animal();
C .Animal a = new Animal();
D .Animal a = new Horse();
E .all of the above(以上都正确) are valid(以上都是有效的)
解析:因为马是动物的一个子类,选b需要显式类

2、假设Dog是Animal的子类,且Animal有一个方法speak(),该方法在Dog类中被重载.

Animal spot = new Dog();
spot.speak();

下面哪项是正确的(D)
A .This code will result in a compile-time error. (这段代码会引起编译时错误)
B .This code will result in a run-time error. (这段代码会引起运行时错误)
C .The speak method defined in the Animal class will be called. (将会调用Animal类中的speak方法)
D .The speak method defined in the Dog class will be called. (将会调用Dog类中的speak方法)
E .The speak method will not be called at all. (不会调用任何speak方法)
解析:说狗类中定义的方法将在这种情况下。在运行时,Java虚拟机确定是指向一个对象类型的狗和结合的方法在犬类中定义的方法。

3、下面哪个方法包含了实现Iterator接口的对象?(D)
A .next
B .hasNext
C .toString
D .all of the above(以上都正确)
E .a and b(a和b)、
解析:迭代器接口指定所有对象必须实现它hasNext和下一个方法。因为所有对象在Java对象类的一个子类,它还将包括toString方法。

4、思考下行代码

Comparable s = new String();

Which of the following statements is true about this line? 关于这行代码,下面哪句陈述是正确(C)
A .It will result in a compile-time error(这行代码会引起编译时错误).
B .It will result in a run-time error(这行代码会引起运行时错误).
C .It will create a String object pointed to by a Comparable reference. (这行代码会创建一个Comparable引用指向的String对象)
D .Although it is perfectly valid Java, it should be avoided due to confusion(虽然这是有效的Java代码,但应该避免使用,以免引起混淆).
E .none of the above are true(以上都正确)
解析:这是一个有效的Java语句,结果没有错误,因为String类实现了类似的接口。

  • 考试总结:对于本章内容的整体把握性不够强,考试时还要一直翻书查找,导致答题速度较慢,而且出现了一些不应该出现的错误。。

结对及互评

  • 第十章的内容还是比较简单的(相比前面几章),结对学习还是以相互督促看教材、看视频为主。下周的考试又多了一部分linux的内容,晚上可以一起复习一下,这是个复习基础知识的好机会。。

点评过的同学博客和代码

其他

  • 好像这学期的教材学习内容已经接近尾声了,这好像也是倒数第二篇学习博客,只是感觉时间过得很快,这半年来也是有不小的收获,虽然到现在也不太习惯写博客。。
  • 尝试去喜欢上自己不喜欢的事物吧,生活在现实社会中的人,总会有许多喜欢与厌烦,开心也得做不开心也得做,开心也是一天,不开心还是一天,作的不还是自己吗。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 300小时
第一周 63/63 1/1 10/10
第二周 349/412 1/2 20/30
第三周 294/706 1/3 15/45
第四周 808/1518 1/4 25/70
第五周 561/2079 1/5 25/95
第六周 556/2635 1/6 20/115
第七周 377/3012 1/7 20/135
第八周 213/3225 1/8 15/150

参考资料

posted @ 2017-04-23 20:55  20162306陈是奇  阅读(103)  评论(7编辑  收藏