数学类

算法与数学之美 2019-10-27

一、java.math.BigDecimal类  

1. 概述

在Java语言中,描述浮点数使用float 类型 和 double类型。

但是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)                     --返回 计算调用对象 和 参数对象的

代码演示:

import java.math.BigDecimal;

public class BigDecimalTest {

    public static void main(String[] args) {
        
        // 创建两个 BigDecimal类型的对象
        BigDecimal bd1 = new BigDecimal("5.2");
        BigDecimal bd2 = new BigDecimal("0.4");
        
        // 进行加法运算
        BigDecimal result = bd1.add(bd2);
        System.out.println("bd1 + bd2 = "+result);
        
        // 进行减法运算
        result = bd1.subtract(bd2);
        System.out.println("bd1 - bd2 = "+result);
        
        // 进行乘法运算
        result = bd1.multiply(bd2);
        System.out.println("bd1 * bd2 = "+result);
        
        // 进行除法运算
        result = bd1.divide(bd2);
        System.out.println("bd1 / bd2 = "+result);
        
    }

}

结果:

bd1 + bd2 = 5.6
bd1 - bd2 = 4.8
bd1 * bd2 = 2.08
bd1 / bd2 = 13

二、java.math.BigInteger类

1. 概述

在Java语言中描述整数首选int类型,若int类型范围不够用则使用long类型。

若long类型还是不够用,则使用 java.math.BigInteger类 建议描述。

2. 常用方法

 代码演示

import java.math.BigDecimal;
import java.math.BigInteger;

public class BigIntegerTest {

    public static void main(String[] args) {
        
        // 创建两个BigInteger对象
        BigInteger bi1 = new BigInteger("52");
        BigInteger bi2 = new BigInteger("13");
        
        // 
        // 进行加法运算
        BigInteger  result = bi1.add(bi2);
        System.out.println("bi1 + bi2 = "+result);
                
        // 进行减法运算
        result = bi1.subtract(bi2);
        System.out.println("bi1 - bi2 = "+result);
                
        // 进行乘法运算
        result = bi1.multiply(bi2);
        System.out.println("bi1 * bi2 = "+result);
                
        // 进行除法运算
        result = bi1.divide(bi2);
        System.out.println("bi1 / bi2 = "+result);

    }

}

运行结果:

bi1 + bi2 = 65
bi1 - bi2 = 39
bi1 * bi2 = 676
bi1 / bi2 = 4

相关推荐