数学处理类

Math类

基本概念
  • java.lang.Math类主要用于提供执行数学运算的方法,如:对数,平方根。
常用方法
public class MathTest {

    public static void main(String[] args) {

        // static int max(int a, int b) 
        System.out.println("获取两个整数中最大值的结果是:" + Math.max(10, 20)); // 20
        
        // static int min(int a, int b) 
        System.out.println("获取两个整数中最小值的结果是:" + Math.min(10, 20)); // 10
        
        // static double pow(double a, double b)
        System.out.println("获取次方的结果是:" + Math.pow(2, 3)); // 8.0  返回第一个参数的幂,体现double类型
        
        // static int abs(int a)
        System.out.println("获取绝对值的结果是:" + Math.abs(-5)); // 5
        
        // static long round(double a)
        System.out.println("进行四舍五入的结果是:" + Math.round(3.14)); // 3
        
        // static double sqrt(double a)
        System.out.println("该整数的平方根是:" + Math.sqrt(16)); // 4.0
        
        // static double random()
        System.out.println("生成的随机数是:" + Math.random()); // 返回0.0到1.0的随机数
    }
}

BigDecimal类

基本概念
  • 由于float类型和double类型在运算时可能会有误差,若希望实现精确运算则借助 java.math.BigDecimal类型加以描述。
常用方法

基础知识:

  • BigDecimal类里面没有在整数后面加 .0 体现小数的概念(见下方divide方法)
  • 除不尽时要用RoundingMode.HALF_UP四舍五入(RoundingMode:舍入模式)
import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalTest {

    public static void main(String[] args) {
        
        // 1.构造BigDecimal类型的两个对象
        // BigDecimal(String val)
        BigDecimal bd1 = new BigDecimal("5.2");
        BigDecimal bd2 = new BigDecimal("1.3");
        
        // 2.使用构造完毕的对象实现加减乘除运算
        System.out.println("实现加法运算的结果是:" + bd1.add(bd2)); // 6.5
        System.out.println("实现减法运算的结果是:" + bd1.subtract(bd2)); // 3.9
        System.out.println("实现乘法运算的结果是:" + bd1.multiply(bd2)); // 6.76
        System.out.println("实现除法运算的结果是:" + bd1.divide(bd2)); // 4

        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");
        System.out.println("精确计算的结果是:" + bd3.add(bd4)); // 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类

基本概念
  • 若希望表示比long类型范围还大的整数数据,则需要借助java.math.BigInteger类型描述。
常用方法
import java.math.BigInteger;

public class BigIntegerTest {

    public static void main(String[] args) {

        // 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

        System.out.println("-----------------------------------------------------");
        
        // 3.一次性得到商和余数
        BigInteger[] arr = bi1.divideAndRemainder(bi2);
        for (int i = 0; i < arr.length; i++) {
            System.out.println("下标为" + i + "的元素是:" + arr[i]); // 2 4
        }
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值