2021-07-14BigDecimal和BigInteger和Math和Exception

标题BigDecimal 和 BigInteger

精度极高



***//n!***

public static void main(String[] args) {
        long result = m1(20);
        System.out.println(result);

        BigDecimal result1 = m2(100);
        System.out.println(result1);
    }

    public static long m1(int n) {
        if (n <= 1) {
            return 1;
        }
        return n * m1(n - 1);
    }

    public static BigDecimal m2(int n) {
        if (n <= 1) {
            return new BigDecimal(1);
        }
        return new BigDecimal(n).multiply(m2(n - 1));
    }

Math

  • Math 提供了科学技算和基本的数字操作方法
  • 全是静态方法,类名调用即可,并且Math在java.long下,不需要导包
public static void main(String[] args) {
        //abs 绝对值
        System.out.println(Math.abs(-23));
        //ceil 向上取整  小数大于0 就进位
        System.out.println(Math.ceil(1.000001));
        //floor 向下取整 舍小数
        System.out.println(Math.floor(1.99999));

        //sqrt 平方根
        System.out.println(Math.sqrt(4));
        //cbrt 立方根
        System.out.println(Math.cbrt(8));

        //random 随机数 生成大于等于0.0 且小于1.0
        //greater than or equal to {@code 0.0} and less than {@code 1.0}
        System.out.println(Math.random());

        //rint 四舍五入
        //银行算法,四舍六入 五取偶数
        System.out.println(Math.rint(2.4));
        System.out.println(Math.rint(2.5));
        System.out.println(Math.rint(3.5));

        //pow N次方
        System.out.println(Math.pow(2, 3));
    }

Exception

  • 异常:

  •  是java提供的识别错误的响应机制,可以使程序更加见状 易于调试
    
  •  异常是错误的另一种说法
    
  •  java中 有个专门模拟所有异常的类,Throwable,是异常类的祖类,所有的异常类 都是它的子类
    
  •  如果程序出现了异常 会终止程序生命周期执行,所以需要进行处理
    
  • 异常处理形式

  •  try...catch... :解决 异常,一般用在客户端(调用处)
    
  •  throws :抛 异常,一般用在类库端(服务段,被调用的地方)
    
  •  throw :异常源,制作异常,创建异常对象
    
 public static void main(String[] args) {
       try {
           new FileInputStream("");
           String s = null;
           s.equals("");
           //可以写多个catch 捕捉多个异常,进行不同的处理
           //多个异常类型之间不能有继承关系,否则就必须是从子类到父类
       } catch (FileNotFoundException e) {
           System.out.println("找不到文件");
       } catch (NullPointerException e) {
           System.out.println("空指针");
       }
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值