math类和biginteger类

Math类:这种工具类,一般不会创建对象,方法为静态方法,直接调用

package com.oracle.demo02;

public class MathDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //绝对值
        System.out.println(Math.abs(-99));
        //向上取整
        System.out.println(Math.ceil(12.2));
        //向下取整
        System.out.println(Math.floor(12.2));
        //取最大值
        System.out.println(Math.max(111,333));
        //取最小值
        System.out.println(Math.min(111,333));
        //取次幂
        System.out.println(Math.pow(2,3));
        //取随机数
        System.out.println(Math.random());
        //四舍五入
        System.out.println(Math.round(12.2));
        //π
        System.out.println(Math.PI);
    }

}

Array类:操作数组的一些方法

package com.oracle.demo02;

import java.util.Arrays;

public class ArraysDemo {
    public static void main(String[] args) {
        method1();

    }
    public static void method(){
        int[] arr = {3,6,9,11,15};
        //返回指定值对应的索引值(数组必须有序)
        //如果不存在,索引值=(-当前索引-1)
        int i = Arrays.binarySearch(arr, 6);
        System.out.println(i);
    }
    public static void method1(){
        int[] arr = {5,7,1,3,2,9,};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
//        for(int i:arr){
//            System.out.print(i);
//        }
    }
}

BigInteger类:比long类型的数据还大的值

package com.oracle.demo02;

import java.math.BigInteger;

public class BigDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        method();
    }
    public static void method(){
        BigInteger bi =new BigInteger("100000000000000000000000000000000000000000");
        BigInteger bi2 = new BigInteger("20000000000000000000000000000000000000000");
        //加法
        System.out.println(bi.add(bi2));
        //减法
        System.out.println(bi.subtract(bi2));
        //乘法
        System.out.println(bi.multiply(bi2));
        //除法
        System.out.println(bi.divide(bi2));
    }
}

BigDecimal类:避免精度损失的

package com.oracle.demo02;

import java.math.BigDecimal;

public class BigDemo01 {
    public static void main(String[] args) {
        method3();
    }
    public static void method(){
        BigDecimal bd1 = new BigDecimal("0.09");
        BigDecimal bd2 = new BigDecimal("0.01");
        System.out.println(bd1.add(bd2));
    }
    public static void method1(){
        BigDecimal bd1 = new BigDecimal("1.0");
        BigDecimal bd2 = new BigDecimal("0.31");
        System.out.println(bd1.subtract(bd2));
    }
    public static void method2(){
        BigDecimal bd1 = new BigDecimal("1.015");
        BigDecimal bd2 = new BigDecimal("100");
        System.out.println(bd1.multiply(bd2));
    }
    public static void method3(){
        BigDecimal bd1 = new BigDecimal("1.301");
        BigDecimal bd2 = new BigDecimal("100");
        System.out.println(bd1.divide(bd2,BigDecimal.ROUND_FLOOR,3));
    }
}

注意 在除法运算的时候要用divide()方法的参数类型来进行小数位数的控制

原文地址:https://www.cnblogs.com/yelena-niu/p/9111852.html

时间: 2024-07-31 22:43:18

math类和biginteger类的相关文章

Java大数处理类:BigInteger类和BigDecimal类

当我们要处理非常大的数据时,平常用的数据类型已不足以表示,在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类在理论上只要计算机内存足够大就能够表示无线大的数.它们都在java.math.*包中,我们可以在API文档中进行查看: Java API 1.6 中文在线帮助文档 http://www.yq1012.com/api/ 实例: 1 import java.math.BigDecimal; 2 import java.math.BigInteg

Java基础系列9:BigInteger类和BigDecimal类

一 BigInteger类 当我们碰到需要处理一个很大的数字时,这时候肯定没法使用int和long.当然我们可以使用String来接收大数字,然后再采用拆分的方式来计算,不过这种方式很麻烦.因此在Java中为了解决这种问题,提供了BigInteger类.BigInteger类表示是大整数类,定义在java.math.*这个包中,如果操作的整数已经超过了整数的最大类型长度long,这时可以考虑使用BigInteger类来进行操作 常用方法的示例: package javase.base; impo

java之BigInteger类

1.BigInteger类概述 可以让超过Integer范围内的数据进行运算. 2.BigInteger类的构造方法 public BigInteger(String val) 将BigInteger的十进制字符串表示形式转换为BigInteger package com; import java.math.BigInteger; /**  * BigInteger类  *  可以让超过Integer范围内的数据进行运算  * 构造方法  *  public BigInteger(String 

Java API —— BigInteger类

1.BigInteger类概述        可以让超过Integer范围内的数据进行运算 2.构造方法     public BigInteger(String val) 3.BigInteger类成员方法 public BigInteger add(BigInteger val):加 public BigInteger subtract(BigInteger val):减 public BigInteger multiply(BigInteger val):乘 public BigInteg

BigInteger类的方法

BigInteger类的方法 *   divide(BigInteger val)            返回其值为 (this / val) 的 BigInteger.          multiply(BigInteger val)           返回其值为 (this * val) 的 BigInteger.          subtract(BigInteger val)           返回其值为 (this - val) 的 BigInteger.          a

Java BigInteger类知识点总结

(1)程序有时需要处理大整数,java.math包中的BigInteger类提供任意精度的整数运算,可以使用构造方法: public BigInteger(String VAL)构造一个十进制的BigInteger对象,该构造方法可以发生NumberFormatException异常,也就是说,字符串参数VAL中如果含有非数字字符就会发生NumberFormatException异常. (2)BigInteger类的常用方法: public BigInteger add(BigInteger v

Date、DateFormat类、Calendar类、基本类型包装类、System类、Math类、Arrays类、大数据运算类

1.Date (1)概述: 时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 注意:时间和日期的计算,必须依赖毫秒值 ----------------Date()获取当前时间 import java.util.Date; public class Demo06boke { public static void main(String[] args) { Date sdf=new Date(); System.out.println(sdf); } } Date(lon

Math类和Random类(数学公式相关类)

Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 常用方法: 1.static 数值类型 abs(数值类型 a)      返回 double 值的绝对值. 2.static double ceil(double a)      返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数. 也叫向上取值 3.static double floor(double a)     返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于

Java基础(四):Java Number & Math 类、Character 类、String 类

一.Java Number & Math 类: 1.Number类: 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等.然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形.为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类.所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类 Number 的子类. 这种由编译器特别支持的包装称为装箱,所以当内置数据