Math,Array,System,BigInteger

本文详细介绍了Java中的Math类常用方法如绝对值、幂运算、取整等,以及Arrays类的排序、搜索和转换功能。同时涵盖了BigInteger和BigDecimal的大数值处理,展示了如何进行精确计算。
摘要由CSDN通过智能技术生成

Math

Math常见的方法

1.Math.abs()//输出一个数的绝对值
2.Math.pow(a,b)//a的b次方
3. Math.ceil()//向上取整,进一
4.Math.floor()//向下取整,去小数
5.Math.round()//四舍五入
6.Math.sqrt()//开平方
7.Math.random();//[0,1)之间的随机数
8.Math.max(a,b)//对比最大值
9.Math.min(a,b)//对比最小值

	    int abs = Math.abs(-9);//输出一个数的绝对值

        double pow =  Math.pow(2,4);//2的4次方

        double ceil = Math.ceil(3.9);//向上取整,进一

        double floor = Math.floor(5.9);//向下取整,去小数

        long round = Math.round(-5.1);//四舍五入

        double sqrt = Math.sqrt(9.0);//开平方

        double random = Math.random();//[0,1)之间的随机数
        
   		int max = Math.max(1, 2);//对比最大值

        int min = Math.min(1, 2);//对比最小值

Arrays

常见的方法

1.Arrays.toString()//可以直接输出数组之类的元素

		Integer[] integers = {1,2,3,4};
        System.out.println(Arrays.toString(integers));//输出一个[]和数组里面的元素拼接在字符串中

2.1.Arrays.sort();//默认排序方法小到大

		Arrays.sort(integers);//默认排序方法小到大

2.2.Arrays.sort();自定义排序方法(重写compare方法)

		 Arrays.sort(integers, new Comparator<Object>() {//自定义排序方法
            @Override
            public int compare(Object o1, Object o2) {
                Integer i1 = (Integer) o1;
                Integer i2 = (Integer) o2;
                return i2 - i1;//从大到小
            }
        });

3.Array.binarySearch(a,x)//二分查找,返回查找到的位置索引,如果没有找到,返回负的应该在的位置加一。

Arrays.binarySearch(integers,1);

4.Array.copyOf(integers,integers.length)//拷贝旧数组到新数组中

Integer[] newIntegers = Arrays.copyOf(integers, integers.length);

5.Array.fill(integers,x)//将integers中的元素替换成x

Arrays.fill(newIntegers,0);

6.Arrays.equal(integers,newIntegers)//对比两个数组的元素是否完全一样

boolean equals = Arrays.equals(integers, newIntegers);

7。Arrays.asList(a,b,c,d)//将数据转换成list集合

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6,7);//将数据转换成list集合

System

1.System.arraycopy(src,srcPos,dest,destPos,length);
src:表示被复制的数组
srcPos:从原数组的那个索引位置开始拷贝
dest:拷贝到哪个数组
destPos:接收数组的哪个位置开始接收
length:拷贝多少个数据到目标数组

	    int[] src = {1,2,3};
        int[] dest = new int[3];
        System.arraycopy(src,0,dest,0,3);
        System.out.println(Arrays.toString(dest));

System.currentTimeMillis()
输出从现在到1970年的时间用毫秒表示

System.out.println(System.currentTimeMillis());

BigInteger

将一个极大的数据转成字符串处理
进行数据运算时通过创建一个需要操作的BigInteger 然后进行处理;
1.bigInteger.add();//加
2.bigInteger.subtract();//减
3.bigInteger.multiply();//乘
4.bigInteger.divide();//除

 BigInteger bigInteger = new BigInteger("1234567890987654321");
        BigInteger bigInteger1 = new BigInteger("123");

        BigInteger add = bigInteger.add(bigInteger1);
        System.out.println(add);
        bigInteger.subtract();
        bigInteger.multiply();
        bigInteger.divide();

BigDecimal

将一个精度极高的数据转成字符串处理
进行数据运算时通过创建一个需要操作的BigDecimal然后进行处理
1.bigDecimal.add();//加
2.bigDecimal.subtract();//减
3.bigDecimal.multiply();//乘
在除时结果是无限循环小数时会抛出一个异常,处理方案一般是加一个精度
BigDecimal.ROUND_CEILING表示保留原来的除数的精度
4.bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING);//除

 BigDecimal bigDecimal = new BigDecimal("0.1234567890987654321");
        BigDecimal bigDecimal1 = new BigDecimal("1.1");

        BigDecimal add = bigDecimal.add(bigDecimal1);
        bigDecimal.add();
        bigDecimal.subtract();
        bigDecimal.multiply();
        bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值