异样和汇合
一. 异样
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 的区别
throws | throw |
---|---|
●用在办法申明前面,跟的是异样类名 | ●用在办法体内,跟的是异样对象名 |
●示意抛出异样, 由该办法的调用者来解决 | ●示意抛出异样,由办法体内的语句解决 |
●示意出现异常的一种可能性, 并不一定会产生这些异样 | ●执行 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