Java常用类–BigDecimal类和System类

  • Post author:
  • Post category:java


Java常用类–BigDecimal类和System类



BigDecimal类

  • double和float都是以近似值存储的,不满足精确运算要求,所以使用BigDecimal类实现精确运算
public class testBigDecimal {
    public static void main(String[] args) {
        double a=1.0;
        double b=0.9;
        System.out.println(a-b);
        System.out.println((a-b)/0.1);

        BigDecimal bd1=new BigDecimal("1.0");
        BigDecimal bd2=new BigDecimal("0.9");
        BigDecimal bd3=new BigDecimal("0.1");
        //加
        System.out.println(bd2.add(bd3));
        //减
        System.out.println(bd1.subtract(bd2));
        //乘
        System.out.println(bd2.multiply(bd3));
        //除
        System.out.println(bd1.subtract(bd2).divide(bd3));
        //除不尽时,保留3位小数,四舍五入
        BigDecimal bd4=new BigDecimal("20").divide(new BigDecimal("3"),3,BigDecimal.ROUND_HALF_UP);
        System.out.println(bd4);
    }
}



System类

  • 主要用于获取系统的属性数据和其他操作
  • 构造方法是私有的
public class testSystemClass {
    public static void main(String[] args) {
        //复制数组  效率高
        int[] a={1,2,3,4,5};
        int[] b=new int[5];
        System.out.println(Arrays.toString(b));
        //src:原数组,srcPos:原数组位置,dest:目标数组,destPos:目标数组位置,length:复制的长度
        System.arraycopy(a,3,b,3,a.length-3);
        System.out.println(Arrays.toString(b));

        //输出当前毫秒数,可用于计时
        System.out.println(System.currentTimeMillis());

        //System.gc()告诉垃圾回收站回收垃圾,但是回收不回收垃圾看当时的运行情况
        //实例在Object类的testFinalize方法中
//        System.gc();

        //退出JVM
        System.exit(0);
        System.out.println("程序结束!");    //该句不会输出,程序在上一句已经结束
    }
}



其他相关文章:



版权声明:本文为likehack原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。