1.Math
Math 包含执行基本数字运算的方法。
Math类中无构造方法,但内部的方法都是静态的,则可以通过类名.进行调用。
2. System
3.Object
Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份。
查看方法源码的方式:选中方法,按下Ctrl + B。
4.Arrays
工具类设计思想
1、构造方法用 private 修饰
2、成员用 public static 修饰
5.Date
Date 代表了一个特定的时间,精确到毫秒
6.SimpleDateFormat
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
7.Calendar
Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法 。
8.异常
异常就是程序出现了不正常的情况。
JVM默认处理异常的方式
如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理,处理方式有如下两个步骤:
把异常的名称,错误原因及异常出现的位置等信息输出在了控制台
程序停止执行
try-catch方式处理异常
try {
//可能出现异常的代码;
} catch(异常类名 变量名) {
//异常的处理代码;
}
执行流程
- 程序从 try 里面的代码开始执行
- 出现异常,就会跳转到对应的 catch 里面去执行
- 执行完毕之后,程序还可以继续往下执行
try-catch-finally
try{
...... //可能产生异常的代码
}catch( ExceptionName1 e ){
...... //当产生ExceptionName1型异常时的处置措施
}catch( ExceptionName2 e ){
...... //当产生ExceptionName2型异常时的处置措施
} finally{
...... //无论是否发生异常,都无条件执行的语句
}
finally块没有处理异常的能力。处理异常的只能是catch块。
在同一try...catch...finally块中 ,如果try中抛出异常,且有匹配的catch块,则先执行catch块,再执行finally块。如果没有catch块匹 配,则先执行finally,然后去外面的调用者中寻找合适的catch块。
Throwable类
编译时异常和运行时异常的区别
编译时异常
都是Exception类及其子类
必须显示处理,否则程序就会发生错误,无法通过编译
运行时异常
都是RuntimeException类及其子类
无需显示处理,也可以和编译时异常一样处理
throws方式处理异常
格式:public void 方法() throws 异常类名 { }
注意事项
这个throws格式是跟在方法的括号后面的
编译时异常必须要进行处理,两种处理方案:try...catch …或者 throws,如果采用 throws 这种方案,将来谁调用谁处理
运行时异常可以不处理,出现问题后,需要我们回来修改代码
throws和throw的区别
throws
用在方法尚明后面,跟单是异常名
表示抛出异常,由该方法的调用者处理
表示出现异常的一种可能性,并不一定发生异常
throw
用在方法体内,跟的是异常对象名
表示抛出异常,由方法体的语句处理
执行throw一定是跑出了某种异常
自定义异常
如果要自定义异常类,则扩展Exception类即可,因此这样的自定义异常都属于检查异常(checked exception)。如果要自定义非检查异常,则扩展自RuntimeException。