java 数学处理类详解

数学处理类(熟悉)

Math类的概述

  1. 基本概念

    java.lang.Math类主要用于提供执行数学运算的方法,如:对数,平方根。

  2. 常用的方法

    方法声明 功能介绍
    static int max(int a, int b) 返回两个参数中的最大值
    static int min(int a, int b) 返回两个参数中的最小值
    static double pow(double a, double b) 返回第一个参数的幂
    static int abs(int a) 返回参数指定数值的绝对值
    static long round(double a) 返回参数四舍五入的结果
    static double sqrt(double a) 返回参数的平方根
    static double random() 返回0.0到1.0的随机数

BigDecimal类的概述

  1. 基本概念

    由于float类型和double类型在运算时可能会有误差,若希望实现精确运算则借助 java.math.BigDecimal类型加以描述

  2. 常用的方法

    方法声明 功能介绍
    BigDecimal(String val) 根据参数指定的字符串来构造对象
    BigDecimal add(BigDecimal augend) 用于实现加法运算
    BigDecimal subtract(BigDecimal subtrahend) 用于实现减法运算
    BigDecimal multiply(BigDecimal multiplicand) 用于实现乘法运算
    BigDecimal divide(BigDecimal divisor) 用于实现除法运算
  3. 注意事项

    divide() 如果不能做精确运算 需要传入RoundingMode类下的取舍模式

  4. 代码演示

    	   // 1.构造BigDecimal两个对象
            BigDecimal bd1 = new BigDecimal("5.2");
            BigDecimal bd2 = new BigDecimal("1.3");
            // 2.使用构造完毕的对象实现加减乘除运算
            BigDecimal add = bd1.add(bd2);  // 6.5
            BigDecimal subtract = bd1.subtract(bd2); // 3.9
            BigDecimal multiply = bd1.multiply(bd2); // 6.76
            BigDecimal divide = bd1.divide(bd2); // 4
            System.out.println(add);
            System.out.println(subtract);
            System.out.println(multiply);
            System.out.println(divide);
    
            System.out.println("-----------------------");
            // 3.实现精确运算
            System.out.println(0.1 + 0.2); // 0.30000000000000004
            BigDecimal bd3 = new BigDecimal("0.1");
            BigDecimal bd4 = new BigDecimal("0.2");
            BigDecimal add1 = bd3.add(bd4);
            System.out.println(add1); // 0.3
    	
            System.out.println("-----------------------");
            // 4.注意事项
            BigDecimal bd5 = new BigDecimal("2");
            BigDecimal bd6 = new BigDecimal("0.3");
            System.out.println(bd5.divide(bd6,RoundingMode.HALF_UP)); // 7
    

BigInteger类的概念

  1. 基本概念

    由于float类型和double类型在运算时可能会有误差,若希望实现精确运算则借助 java.math.BigDecimal类型加以描述

  2. 常用的方法

    方法声明 功能介绍
    BigDecimal(String val) 根据参数指定的字符串来构造对象
    BigInteger add(BigInteger val) 用于实现加法运算
    BigInteger subtract(BigInteger val) 用于实现减法运算
    BigInteger multiply(BigInteger val) 用于实现乘法运算
    BigInteger divide(BigInteger val) 用于实现除法运算
    BigInteger remainder(BigInteger val) 用于实现取余运算
    BigInteger[] divideAndRemainder(BigInteger val) 用于实现取商和余数的运算
    	   // 1.构造两个BigInteger类型的对象并指定初始值
            BigInteger bi1 = new BigInteger("20");
            BigInteger bi2 = new BigInteger("8");
            // 2.实现加减乘除取余并打印
            System.out.println("实现加法运算的结果是:" + bi1.add(bi2)); // 28
            System.out.println("实现减法运算的结果是:" + bi1.subtract(bi2)); // 12
            System.out.println("实现乘法运算的结果是:" + bi1.multiply(bi2)); // 160
            System.out.println("实现除法运算的结果是:" + bi1.divide(bi2)); // 2
            System.out.println("实现取余运算的结果是:" + bi1.remainder(bi2)); // 4
            BigInteger[] bi3 = bi1.divideAndRemainder(bi2);
            for (BigInteger bigInteger : bi3) {
          
          
                System.out.println(bigInteger); // 2 4
            }
    

Guess you like

Origin blog.csdn.net/Junsunnyl/article/details/119723710