Java部分常用的数学相关的工具类

缪金谷 468 0

数学相关的类

Math

所属的包:java.lang

由于构造方法是私有的,我们不能直接调用创建对象

Math的属性和方法都是静态的,不需要创建对象

常用方法

//取整
System.out.println(Math.ceil(1.5));//向上取整(参数double,返回值double)  2.0
System.out.println(Math.floor(1.5));//向下取整(参数double,返回值double)   1.0
System.out.println(Math.rint(1.5));//取距离最近的,若是一样就取偶数(参数double,返回值double)   2.0
System.out.println(Math.round(1.5));//四舍五入取整(参数double,返回值整型)   2
//比较
Math.max(a,b);//返回一个最大值 可选的类型:int,long,float,double
Math.min(a,b);//返回一个最小值 可选的类型:int,long,float,double
//计算
Math.pow(a,b);//计算a的b次方 (参数double,返回值double)
Math.sqrt(a);//计算a的平方根 (参数double,返回值double)
//其他
Math.random(a,b);//随机产生一个[0.0-1.0)之间的double
//0-9之前的随机整数
int value = (int)(Math.random()*10);
//5.0-10.9之间的小数
(Math.random()*6.9)+5
   //因为计算小数会丢失精度,所以取随机数可以使用Random类

Random

所属的包:java.util

使用需要通过import导入

import java.util.Random
public class Test {
   public static void main (String[] args){
    Random r = new Random();
    r.nextInt();//随机产生一个整数;-2147483648~2147483647
    r.nextInt(10);//[0-10)之间的整数(参数只能为正)
    r.nextFloat();//[0.0-1.0)
   }
}

UUID

所属的包:java.util

使用需要通过import导入

import java.util.UUID
public class Test {
   public static void main (String[] args){
    UUID uuid = UUID.randomUUID();//随机产生一个32位的16进制数(一般用来数据库主键)
    System.out.println(uuid.toString());//c77cdbf0-27f3-4e43-b8e9-2aab9d1d1fef
   }
}

BigInteger

所属的包:java.math

使用需要通过import导入

//当数大于计算机可处理的最大整数时,使用这个类
//有很多的构造方法,一般使用String的构造方法
import java.math.BigInteger
public class Test {
   public static void main (String[] args){
    BigInteger bi1 = new BigInteger("123");
    BigInteger bi2 = new BigInteger("456");
    //加
    bi1.add(bi2);
    //减
    bi1.subtract(bi2);
    //乘
    bi1.multiply(bi2);
    //除
    bi1.divide(bi2);
   }
}

BigDecimal

所属的包:java.math

使用需要通过import导入

//当数大于计算机可处理的最大小数时,使用这个类
import java.math.BigDecimal
public class Test {
   public static void main (String[] args){
    BigDecimal bi1 = new BigDecimal("123.12");
    BigDecimal bi2 = new BigDecimal("456.12");
    //加
    bi1.add(bi2);
    //减
    bi1.subtract(bi2);
    //乘
    bi1.multiply(bi2);
    //除
    bi1.divide(bi2);
    //保留小数点
    BigDecimal decimal = new BigDecimal("123.12312");
    decimal.setScale(2,BigDecimal.ROUND_DOWN);//保留小数点后2位,向下取整
   }
}

DecimalFormat

可以格式化小数点之前和之后的

所属的包:java.text

使用需要通过import导入

import java.text.DecimalFormat
public class Test {
   public static void main (String[] args){
    DecimalFormat df = new DecimalFormat("000.###");//两个参数(0:必须的,#:可有可无的)
    String value = df.format(123.456);//按照格式四舍五入数字
   
   }
}



发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~