1.日期,时间类 Date
略,查找API文件即可
2.枚举类 Enum
定义常量的类
//枚举类
final class Result {
public static final String SUCCESS = "SUCCESS";
public static final String FAIL = "FAIL";
}
//或者这么写
enum ResultEnum {
SUCCESS,FAIL
}
3.随机数 Random
// 1 创建对象
Random r = new Random();
// 0~100 中 这 101个数内 随机生成
int i1 = r.nextInt(101);
System.out.println(i1);
4.数学类 Math
略,各种数学的函数,公式,计算方法(自己去API查)
5.大数类 BigInteger /BigDecimal
//可以输入多位整数
BigInteger v1 = new BigInteger("99999999999999999999");
BigInteger v2 = new BigInteger("20");
// 加法
System.out.println(v1.add(v2)); // 120
// 减法
System.out.println(v1.subtract(v2)); // 80
// 乘法
System.out.println(v1.multiply(v2)); // 2000
// 除法
System.out.println(v1.divide(v2)); // 5
// 取余
System.out.println(v1.remainder(v2)); // 0
//BigDecimal 可以输入多位小数
BigDecimal v3 = new BigDecimal(123.222);
BigDecimal v4 = new BigDecimal(123.555555555);
v3.subtract(v4);
分割数,格式上分位
// 千分位分割
DecimalFormat df = new DecimalFormat("###,###");
System.out.println(df.format(123456));
6.异常
- 多个catch注意顺序
try {
new FileInputStream("xxx");
String s = null;
// 可能报空指针异常
s.equals("");
//可以使用多个catch接受异常,要注意从子类到父类的顺序自上而下的排列,否则子类的异常就不会接收到了,全被父类用多态拦截了
} catch (NullPointerException e1) {
System.out.println("空指针");
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch (Exception e2) {
System.out.println("其他异常");
}
- 1.7新版本中的catch
java1.7开始,出现了一个新的写法,可以一次catch捕捉多个异常,
*
* 但是异常之间不能有继承关系,如果有继承关系,之间写父类
*
* 多个异常使用 | 隔开
*
* 异常类型 | 异常类型 | .....
catch (NullPointerException | FileNotFoundException e) {
System.out.println("出错啦~");
}
- finally
// 程序执行到这里,直接关闭虚拟机,关闭虚拟机后,finally不再执行
System.exit(0);
//finally必须执行,除非虚拟机停止
finally {
// 依然执行
System.out.println("我必须执行");
}
- 自定义异常类
public class UserException extends Exception{
UserException(){
}
//继承了父类的输出异常信息构造方法
UserException(String msg){
super(msg);
}
}
如何使用自定义异常
public class Service {
//提示异常应该被自定义异常类抛出
public static void login(User user) throws UserException{
if("admin".equals(user.getName()) && "123456".equals(user.getPassword())){
System.out.println("登陆成功");
}else{
//创建一个新对象抛出异常
throw new UserException("用户名或密码不正确");
}
}
}