BigDecimal(常用)
BigDecimal:用于存储比double更精确的值
public class BigDecimailTest {
public static void main(String[] args) {
double a = 0.1;
double b = 0.09;
System.out.println(a-b);
BigDecimal big1 = new BigDecimal("0.1");
BigDecimal big2 = new BigDecimal("0.09");
System.out.println(big1.subtract(big2)); //减法
System.out.println(big1.add(big2)); //加法
System.out.println(big1.multiply(big2)); //乘法
//1.1111111111111
//注意:除法有除不尽的情况,一定后面再加2个参数; 1.保留几位 2.取值模式
//除法取值模式:有向上取,向下取,四舍五入
System.out.println(big1.divide(big2, 2, BigDecimal.ROUND_HALF_UP)); //除法
}
}
BigInteger
扩展了解:BigInteger比int存储的值更大
public class BigIntegerTest {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE); //2147483647
System.out.println(Integer.MAX_VALUE+1); //-2147483648
BigInteger big1 = new BigInteger(Integer.MAX_VALUE+"");//21474836471
BigInteger big2 = new BigInteger("1");
System.out.println(big1.add(big2)); //2147483648
}
}
Math类
Math类: 数据的工具类 ,里面提供了很多数学计算方面的静态方法
public class MathTest {
public static void main(String[] args) {
System.out.println(Math.ceil(1.2)); //2.0 向上取整
System.out.println(Math.ceil(1.8)); //2.0
System.out.println(Math.floor(1.2)); //1.0 向下取整
System.out.println(Math.floor(1.8)); //1.0
System.out.println(Math.round(1.2)); //1 四舍五入
System.out.println(Math.round(1.8)); //2
//Math.random()---0.0~1.0之间,不包括1.0
//案例:随机出来75~100的数
int num =(int)(Math.random()*26)+75;
System.out.println(num);
}
}
Random类
Random类: 专业求随机数的类
public class RandomTest {
public static void main(String[] args) {
Random random = new Random(); //真随机
//Random random = new Random(2); //伪随机
//根据传入参数进行随机:例如 5--0到4之间随机
for(int i=0;i<5;i++) {
System.out.print(random.nextInt(5)+"\t");
}
//案例:随机出来75~100的数
int num = random.nextInt(26)+75;
System.out.println(num);
}
}