Java核心思想
面向对象的编程思想
类和类的关系
类中成员的描述 对象创建
Java工具类
包装类 数学相关 日期相关 字符串相关
集合相关的类
考试机 学生 老师
异常/错误
程序运行过程中,可能会发生一些不被期望的效果,
肯定会阻止我们的程序按照指令去执行
这种不被预期出现的效果,肯定需要抛出来告诉我们
在Java中有一个定义好的规则Throwable(可以抛出的)
Error错误
通常是一些物理性的,JVM虚拟机本身出现的问题,程序指令是处理不了的
Exception异常
通常是一种人为规定的不正常的现象,
通常是给定的程序指令产生了一些不符合规范的事情
Throwable类实现了一个序列化接口
Error(错误) Exception(异常)
StackOverflowError RuntimeException(运行时) IOException。。。。。
OutOfMemoryError
异常的分支体系
运行时异常(非检查异常)
Error和RuntimeException都算作运行时异常
javac编译的时候,不会提示和发现的,
在程序编写时不要求必须做处理,如果我们愿意可以添加处理手段(try throws)
要求大家出现这样异常的时候 知道怎么产生及如何修改
1.InputMisMatchException 输入不匹配
int value = input.nextInt();// abc
2.NumberFormatException 数字格式化
int value = Integer.parseInt("123.45");
3.NegativeArraySizeException 数组长度负数
int[] array = new int[-2];
4.ArrayIndexOutOfBoundsException 数组索引越界
int[] array = {1,2,3};
array[5];
5.NullPointerException 空指针异常
int[][] array = new int[3][];
array[0][0] =10;
Person p = null;
p.getName();
6.ArithmeticException 数字异常
10/0 整数不允许除以0 Infinity小数除以0会产生无穷
7.ClassCastException 造型异常
Person p = new Teacher();
Student s = (Student)p;
8.StringIndexOutOfBoundsException 字符串越界
String str = "abc";
str.charAt(5);
9.IndexOutOfBoundsException 集合越界
List家族
ArrayList list = new ArrayList();
list.add(); list.add(); list.add();
list.get(5);
10.IllegalArgumentException 非法参数异常
ArrayList list = new ArrayList(-1);
编译时异常(检查异常)
除了Error和RuntimeException以外其他的异常
javac编译的时候 强制要求我们必须为这样的异常做处理(try或throws)
因为这样的异常在程序运行过程中极有可能产生问题的
异常产生后后续的所有执行就停止啦
1.InterruptException
try{
Thread.sleep(5000);
}catch(Exception e){
}
后续还会有很多的编译时异常