异样和汇合

一.异样

1.异样概述

异样:就是程序呈现了不失常的状况
异样体系:
Throwable分为Error和Exception
Exception分为RuntimeException和非RuntimeException
Error:重大问题,须要解决
Exception:称为异样类,它示意程序自身能够解决的问题
●RuntimeException: 在编译期是不查看的,呈现问题后,须要咱们回来批改代码
●非RuntimeException:编译期就必须解决的,否则程序不能通过编译,就更不能失常运行了

2. JVM的默认解决计划

如果程序呈现了问题,咱们没有做任何解决,最終JVM会做默认的解决
●把异样的名称,异样起因及异样呈现的地位等信息输入在了控制台
●程序进行执行

3.异样解决之try..catch...

●格局:
try {
可能出现异常的代码;
} catch(异样类名 变量名) {
异样的解决代码;}
执行流程:
程序从try的代码开始执行
出现异常,会主动生成一个异样类对象,该异样对象将被提交给Java运行时系統
当Java运行时零碎接管到异样对象时,会到catch中去找匹配的异样类,找到后进行异样的解决
执行结束之后,程序还能够持续往下执行。

4. Throwable的成员办法

办法名阐明
public String getMessage0返回此throwable的具体音讯字符串
public String toString0返回此可抛出的简短形容
public void printStackTrace0把异样的错误信息输入在控制台

5.编译时异样和运行时异样的区别

Java中的异样被分为两大类:编译时异样和运行时异样,也被称为受检异样和非受检异样
所有的RuntimeException类及其子类被称为运行时异样,其余的异样都是编译时异样
编译时异样:必须显示解决,否则程序就会产生谬误,无奈通过编译。
运行时异样:无需显示解决,也能够和编译时异样一样解决。

6.异样解决之throws

尽管咱们通过try..catch…能够对异样进行解决,然而并不是所有的状况咱们都有权限进行异样的解决
也就是说,有些时候可能呈现的异样是咱们解决不了的,这个时候怎么办呢?
针对这种状况,Java 提供了throws的解决计划
格局:
throws 异样类名;
留神:这个格局是跟在办法的括号前面的
编译时异样必须要进行解决,两种解决计划: try…catch ...或者throws,如果采纳throws这种计划,未来谁调用谁解决。
运行时异样能够不解决,呈现问题后,要咱们来批改代码。

7. throws和throw的区别

throwsthrow
●用在办法申明前面,跟的是异样类名●用在办法体内,跟的是异样对象名
●示意抛出异样,由该办法的调用者来解决●示意抛出异样,由办法体内的语句解决
●示意出现异常的一种可能性,并不一定会产生这些异样●执行throw 肯定抛出了某种异样

8.自定义异样

格局:
public class 异样类名 extends Exception {
无参结构
带参结构
}
范例:

public class ScoreException extends Exception {        public ScoreException() {}        public ScoreException (String message) {              super (message) ;        }}

二.Collection汇合

1.汇合体系结构

汇合类的特点:提供一种存储空间可变的存储模型,存储的数据容量能够随时产生扭转。
汇合能够分为Collection(单列)和Map(双列)。
Collection能够分为List(可反复)和Set(不可反复)。

2.Collection汇合的概述和应用

Collection汇合概述:
●是单例汇合的顶层接口, 它示意一组对象, 这些对象也称为Collection的元素
●JDK 不提供此接口的任何间接实现,它提供更具体的子接口(如Set和List) 实现
创立Collection汇合的对象:
●多态的形式
●具体的实现类ArrayList

3. Collection汇合罕用办法

办法名阐明
boolean add(E e)增加元素
boolean remove(Object o)从汇合中移除指定的元素
void clear()清空集合中的元素
boolean contains(Object o)判断汇合中是否存在指定的元素
boolean isEmpty()判断汇合是否为空
int size()汇合的长度,也就是汇合中元素的个数

4.Collection汇合的遍历

Iterator:迭代器,汇合的专用遍历形式
●Iterator<E> iterator(): 返回此汇合中元素的迭代器,通过汇合的iterator()办法失去
●迭代器是通过汇合的iterator()办法失去的, 所以咱们说它是依赖于汇合而存在的
Iterator中的罕用办法:
●E next():返回迭代中的下一个元素
●boolean hasNext(): 如果迭代具备更多元素,则返回true