JavaEE_day_16 (常用API、异常机制)

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("用户名或密码不正确");
  }
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值