异常:
1.异常体系:
Throwable: 类
Error:
VirtualMachineError: 虚拟机错误
StackOverflowError: 栈内存
OutOfMemoryError: 内存泄漏错误
Exception:
IOException: IO流异常
RuntimeException: 运行时异常
IndexOutOfBoundsException: 下标越界
StringIndexOutOfBoundsException:
ArrayIndexOutOfBoundsException:
数学异常
NullPointerEception:
ClassCastException
NumberFormatException
IllegalArgumentException: 非法参数异常
受检查异常(CheckedException)不是异常体系中,是编译器只能编译器Editplus自动帮我们检测的
java中处理异常的方式:
1.捕获异常:
try{
}catch(){
}finally{
}
try{
有可能出现异常的代码
}catch(NullPointerException | ClassCastException e ){
打印异常信息
}
try{
}finally{
}
*** finally块儿一定执行吗?
1)通常情况下会执行 ,但是 如果系统中出现了System.exit(0): 的代码时 就不执行
2)在没有进入到 try catch finally 代码块儿就已经出现了 异常
那么finally 块儿也不会执行
return 关键字的用法:
1.作为方法的返回值
return 需要返回的值;
2.作为 终止方法的关键字
return;
finally块儿中忌讳 使用return关键字
1.会将正常的返回值覆盖掉
2.会覆盖掉异常信息
所以finally块儿 中不可以使用 return 关键字
2.抛出异常:
throws 和 throw 区别:
throws 声明 异常类型
throw 抛出 new 异常类型();
自定义异常类型的时候:
throw new MyException();
=======================================================
集合的作用:
1. 变量只能存储单个数据
2. java提供了数组容器:
1.数组长度一旦确定不可以改变
2.数组必须通过下标来获取元素
3.为了解决 数组的局限问题
集合框架: 容器
java提供的集合框架的体系:
Iterable:接口 Iterator: 真正的迭代器
单值存储
Collection: 接口
List: ArrayList :实现类 线程不安全的 ,性能快
常用构造器:
ArrayList();
ArrayList(int capacity); 容量
ArrayList(Collection e);
常用方法:
remove(int index); 根据下标删除
remove(Object obj); 根据对象删除
set(int index, E element)
**** subList(int fromIndex, int toIndex); 分页
toArray(); 将一个集合编程 对象数组
LinkedList :实现类
Vector: 实现类 (过时了) 线程安全的 ,性能慢
List接口的特点:
有序的(存储顺序和 输出顺序一致),可重复的 , 允许null 存储
凡是 继承 , 或实现 Iterable 接口的 都是具有了 迭代能力:
但是真正的迭代功能是 Iterator 迭代器做的
Iterator 中 尽量不要调用多次 next方法
Collections 和 Collection 区别:
Collections:是操纵集合的工具类
shuffle(); 打乱顺序输出
sort(); 排序 只能从小到大 排序
双值存储
Map:接口
key - value