《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) 编辑 收藏 举报