Java中常用的类

血红的双手。 提交于 2020-02-26 16:40:06
  • System、Math、BigDecimal
import java.math.BigDecimal;
import java.math.BigInteger;

public class MathDemo {
    public static void main(String[] args) {
        double d = Math.abs(-9.9);
        System.out.println(d);
        d = Math.sin(Math.PI);
        System.out.println(d);

        // 浮点数的运算有精度问题,解决:BigDecimal类
        System.out.println(0.09 + 0.01);// 0.09999999999999999
        System.out.println(1.0 - 0.33);// 0.6699999999999999
        System.out.println(0.0023 * 100);// 0.22999999999999998
        System.out.println(12.3 / 100);// 0.12300000000000001
        BigDecimal d1 = new BigDecimal("0.09");// 注意使用String类似构造,若使用double等构造仍然不精确
        BigDecimal d2 = new BigDecimal("0.01");
        System.out.println(d1.add(d2));// 0.10
        d1 = new BigDecimal("1.0");
        d2 = new BigDecimal("0.33");
        System.out.println(d1.subtract(d2));// 0.67
        d1 = new BigDecimal("0.0023");
        d2 = new BigDecimal("100");
        System.out.println(d1.multiply(d2));// 0.2300
        d1 = new BigDecimal("12.3");
        d2 = new BigDecimal("100");
        System.out.println(d1.divide(d2));// 0.123

        // BigInteger 用于解决超出long最大值的运算的
        long num = Long.MAX_VALUE;
        System.out.println(num);// 9223372036854775807
        System.out.println(num + 1);// -9223372036854775808
        System.out.println(BigInteger.valueOf(num).add(BigInteger.valueOf(1)));// 9223372036854775808

        // static double random() 返回值为 double值为正号,大于等于 0.0 ,小于 1.0 。 [0,1)
        // 打印 [0, 100)的随机数
        for (int i = 0; i < 10; ++i) {
            int randomNum = (int) (Math.random() * 100);
            System.out.println(randomNum);
        }
        System.out.println("-------------------------------");
        // static long round(double a) 返回参数中最接近的 long ,其中 long四舍五入为正无穷大。 
        long n = Math.round(4.5);
        System.out.println(n);//5
    }
}
View Code

 

 

 

 

*************

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!