异常
异常(Throwable类)分为Error和Exception
Exception分为Checked Exception和Runtime Exception
Error:这类错误不需要程序员管理
Exception:异常
- 检查时异常|编译时异常:如果程序一旦出现检查时异常,程序必须要经过处理,否则无法运行
- 运行时异常:增强程序的健壮性就可以处理
- 一般运行时异常都会直接或者间接的继承自RuntimeException
常见的运行时异常:
1.空指针 NullPointerException
2.数组越界异常 ArrayIndexOutOfBoundsException
3.负数异常|数组的长度为负数异常 NegativeArraySizeException
4.数学异常 ArithmeticException
5.类型转换异常 ClassCastException
6.数字转换异常 NumberFormatException
异常处理
- throw 制造异常
- throws 抛出异常
- 捕获异常 try…catch
-
try { 可能会出现异常的代码; } catch (FileNotFoundException e) { 如果出现对应的异常执行的代码 } catch (NullPointerException e){ } catch (Exception e){ } finally{ 无论是否出现异常,一定会执行的代码,一般写一些资源关闭之类的代码 } 注意: 1.如果try中的代码出现异常,下面的代码不会执行,直接执行对应的catch中的代码 2.一个try至少存在一个或者多个catch 3.catch中捕获异常的顺序从小到大写
自定义异常
常用类
String
- String 不可变长字符串|字符序列
- StringBuilder:可变长字符串 ,线程不安全,效率较高
- StringBuffer:可变长字符串 ,线程安全的,效率较低
-
以下步骤创建了几个对象??? String sss1=new String("haha"); //2个 "haha"-->字符串常量池里面 new->堆中 String sss2=new String("haha"); //1个 new->堆中 String sss3="haha"; //没有 System.out.println(sss1==sss2); System.out.println(sss1.equals(sss2)); System.out.println(sss2==sss3); //false String sss4="a"+"b"+"c"+"d"; //"abcd" 一个对象
基本数据类型的包装类
- byte — Byte
- short — Short
- int — Integer
- long — Long
- char — Character
- float — Float
- double — Double
- boolean — Boolean
- 自动装箱:基本数据类型–>包装类型
- 自动拆箱:包装类型–>基本数据类型
Data
- 构造器:
Date() 以当前系统时间构建日期对象
Date(long date) 参数为毫秒数,默认从1970.1.1.0.0.0开始计算
enum
- 列举所有情况,可以枚举类
- 1.枚举类也是类,类中的字段|属性都是该类的一个实例,默认相当于使用public static final修饰
- 2.枚举类隐式的继承了java.lang.Enum