《Java程序设计》第5周学习总结

20145318 《Java程序设计》第5周学习总结

教材学习内容总结

异常处理

  • 异常是程序在运行时出现不正常情况,异常的由来是因为Java把出现的问题封装成了对象。

  • java中所有错误都会被打包为对象,可以尝试(try)捕捉(catch)代表错误的对象后做一些处理。

  • Java中把正常流程放try块中,错误处理放catch块中。

  • catch 多个异常:有时,为了把异常都进行日志记录,可以使用一个try,多个catch,即使数个类型的catch块在做同样的事情。但是,要注意多个catch一定把父类放后面。

     	try
      {
      	需要被检测的代码;
      }
      catch(异常类 变量)
      {
      	处理异常的代码(处理方式);
      }
    
  • 通常,Java的异常分为可查的异常和不可查的异常。
    可查异常:正确的程序在运行中,很容易出现的、情理可容的异常状况。可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常状况,就必须采取某种方式进行处理。

  • throw,throws:
    当方法设计流程出现异常,不知道如何处理时,可以用throws FileNotFoundException抛出异常,让调用方法的客户端来处理。
    throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止。

异常与资源管理

  • 无论try区块中有无发生异常,若撰写有finally区块,则finally区块一定会被执行。如果程序撰写的流程先return了,而且也有finally区块,finally区块会先执行完后,再将值返回。例如下面这个范例会先显示finally、、、,然后再显示1 。

      try
      {
      	需要检测的代码;
      }
      catch(异常类 变量)
      {
      	异常处理代码;
      }
      finally
      {
      	一定会执行的代码;
      }
    
  • 如果程序撰写的流程中先return了,也有finally区块,finally区块会先执行完后,再将值返回

  • java.lang.AutoCloseable接口:尝试关闭资源语法也可以同时关闭两个以上的对象资源,只要中间以分号相隔。在try的括号中,越后面撰写的对象资源会越早被关闭。

Collection和Map

  • 收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在java.util.Collection中,既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterator()方法返回java.util.Iterator操作对象,可以让你逐一取得收集的对象。

  • 收集对象的共同行为定义在Collection中,然而收集对象会有不同的需求,如果希望收集时记录每个对象的索引顺序,并可依索引取回对象,这样的行为定义在java.util.List接口中。如果希望收集的对象不重复,具有集合的行为,则由java.util.Set定义。如果希望收集对象时,以队列排列。收集的对象加入至尾端,取得对象时从前端,则可以使用java.util.Queue。如果希望对Queue的两端进行加入、移除等动作,则可以使用java.util.Deque。

  • List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作类之一是java.util.ArrayList。

  • 同样是收集对象,在收集过程中若有相同对象,则不再重复收集,若有这类需求,可以使用Set接口的操作对象,String的Split()方法,可以指定切割字符串的方式。一般用hashcode()与equals()来判断对象是否相同。

本周代码托管截图

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

前面的进度正在追。

学习进度条

参考资料

posted on 2016-04-03 23:48  20145318赵一  阅读(148)  评论(2编辑  收藏  举报

导航