每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着善良,只要在路上,就没有到达不了的远方!
BigInteger
- 在Java中,整型最大范围是64位的long型整数,long的运算速度很快,但是有一些场景会使用到超过long范围的数字,这个时候我们就要用到
java.math.BigInteger
BigInteger bi = new BigInteger("112312312312312312312312");
// 加法
BigInteger sum = bi.add(bi);
- BigInteger 用来表示任意大小的整数
- BigInteger是不变类,并且继承Number
- BigInteger转换成基本类型时可以使用longValueExact()保证结果正确性
BigDecimal
- 和BigInteger类似,BigDecimal主要用来解决浮点精度问题,可以表示任意大小的浮点数
BigDecimal bd = new BigDecimal("123.123");
System.out.println(bd.multiply(bd));
// 获取小数的位数
System.out.println(bd.scale());
//去掉后面的0
System.out.println(new BigDecimal("123.10").stripTrailingZeros());
// 对一个BigDecimal类型的浮点数进行截取
BigDecimal d1 = new BigDecimal("123.456789");
BigDecimal d2 = d1.setScale(4, RoundingMode.HALF_UP); // 四舍五入,123.4568
BigDecimal d3 = d1.setScale(4, RoundingMode.DOWN); // 直接截断,123.4567
//两个BigDecimal对比,必须使用compareTo,不要使用equals
System.out.println(d3.compareTo(d2));
- BigDecimal 用户表示精确的小数,常用于计算
Math
- Math是用来进行数学计算的,Math类提供了很多静态方法用来方便计算
Math.abs(-100);// 绝对值
Math.max(100,99);//比大小
Math.min(100,99); //比大小
Math.pow(2,10);//求次方
Math.sqrt(2);//求根号2
Random
- Random用来创建伪随机数的
new Random().nextInt(); //创建一个随机数
new Random().nextInt(10); //创建一个0-10的随机数
// nextLong()
// nextFloat()
// nextDouble
SecureRandom
- 创建真随机数,可以创建一个不可预测安全的随机数,方法与Random一致,只是不能给定范围
本文作者《猿氏·凯》,如果雷同,纯属抄袭····