异常:就是程序出现了不正常的情况。程序在执行过程中,出现的非正常的情况,最终会导致 JVM 的非正常停止。
编译时异常就是在编译的时候出现的异常,运行时异常就是在运行时出现的异常。
虚拟机默认处理异常的方式:将异常信息以红色字体打印在控制台、结束程序运行
异常处理方式 —— throws
格式:throws 异常类名;
注意:这个格式是写在方法的定义处,表示声明一个异常。
抛出异常对象 —— throw
手动创建一个异常对象格式:throw new 异常();
注意:这个格式是在方法内的,表示当前代码手动抛出一个异常,下面的代码不用再执行了。
throws
异常处理方式 —— try…catch…
try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}
Throwable 的成员方法
public String getMessage() 返回此 throwable 的详细消息字符串
public String toString() 返回此可抛出的简短描述
public void printStackTrace() 把异常的错误信息输出在控制台
自定义异常的意义:让程序的提示报错更加的见名知意
常用接口及方法
Math 包含执行基本数字运算的方法
public static int abs(int a) 返回参数的绝对值
public static double ceil(double a) 向上取整
public static double floor(double a) 向下取整
public static int round(float a) 四舍五入
public static int max(int a,int b) 返回两个int值中的较大值
public static int min(int a,int b) 返回两个int值中的较小值
public static double pow(double a,double b) 返回a的b次幂的值
public static double random() 返回值为double的正值,[0.0,1.0)
类名.调用静态方法
System 不能被实例化
public static void exit(int status) 终止当前运行的 Java 虚拟机,非零表示异常终止
public static long currentTimeMillis() 返回当前时间(以毫秒为单位)
arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引, 拷贝个数) 数组copy
每个类都可以将 Object 作为父类。
所有类都直接或者间接的继承自该类构造方法:public Object()
public String toString() 返回对象的字符串表示形式。建议所有子类重写该方法,自动生成
public boolean equals(另一个对象) 比较对象是否相等。默认比较地址,重写可以比较内容,自动生成
public static String toString(对象) 返回参数中对象的字符串表示形式。
public static String toString(对象, 默认字符串) 返回对象的字符串表示形式。
public static Boolean isNull(对象) 判断对象是否为空
public static Boolean nonNull(对象) 判断对象是否不为空
作用:可以用来精确计算
BigDecimal 类的构造方法
BigDecimal(double val) 参数为double
BigDecimal(String val) 参数为String
BigDecimal 类的常用方法
public BigDecimal add(另一个BigDecimal对象) 加法
public BigDecimal subtract (另一个BigDecimal对象) 减法
public BigDecimal multiply (另一个BigDecimal对象) 乘法
public BigDecimal divide (另一个BigDecimal对象) 除法
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式)除法
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据.
例如:用于基本数据类型与字符串之间的转换
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer 类的概述和使用
public Integer(int value) 根据 int 值创建 Integer 对象(过时)
public Integer(String s) 根据 String 值创建 Integer 对象(过时)
public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 实例
public static Integer valueOf(String s) 返回一个保存指定值的 Integer 对象 String
自动装箱和自动拆箱
注意:只要是对象,在使用前就必须进行不为 null 的判断
Integer的成员方法
static int parseInt(String s) 将字符串类型的整数变成int类型的整数
int 和 String 的相互转换
基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换
名词解释
Arrays 类包含用于操作数组的各种方法
public static String toString(int[] a) 返回指定数组的内容的字符串表示形式
public static void sort(int[] a) 按照数字顺序排列指定的数组
public static int binarySearch(int[] a, int key) 利用二分查找返回指定元素的索引
Date 代表了一个特定的时间,精确到毫秒
public Date() 创建一个Date对象,表示默认时间
public Date(long date) 创建一个Date对象,表示指定时间
public long getTime() 获取时间对象的毫秒值
public void setTime(long time) 设置时间,传递毫秒值
SimpleDateFormat
SimpleDateFormat 可以对Date对象,进行格式化和解析
public SimpleDateFormat() 构造一个SimpleDateFormat,使用默认格式
public SimpleDateFormat(String pattern) 构造一个SimpleDateFormat,使用指定的格式
JDK8新增日期类
格式化(从 Date 到 String )public final String format(Date date): 把时间按照固定格式进行展示
LocalDate LocalTime LocalDateTime Clock Duration DateTimeFormatter
Optional类
public static Optional of(T value) 获取一个Optional对象,封装的是非null值的对象
public static Optional ofNullable(T value) 获取一个Optional对象,Optional封装的值对象可以是null也可以不是null
public T get() 如果存在值,返回值,否则抛出NoSuchElementException
public boolean isPresent() 判断Optional所封装的对象是否不为空,如果不为空返回true , 否则返回false
public T orElse(T other) 如果不为空,则返回具体的值,否则返回参数中的值
public T orElseGet(Supplier extends T>supplier)如果不为空,则返回值,否则返回由括号中函数产生的结果
public void ifPresent(Consumer super T> action)如果不为空,则使用该值执行给定的操作,否则不执行任何操作
public void ifPresentOrElse(Consumer action, Runnable emptyAction)如果不为空,则使用该值执行给定的操作,否则执行给定的基于空的操作。