Java复习Day19

Random类

1. 简介

java.util.Random类通过基于种子数的随机算法迭代生成随机数。虽然产生的数字是随机的,但在相同种子数下,相同次数的随机数生成结果会保持一致(伪随机特性)。

2. 构造方法

  • Random():使用系统时间作为种子构造Random对象
  • Random(long seed):使用指定种子数构造Random对象
// 验证伪随机数特性
Random random = new Random(100);
Random random1 = new Random(100);
int num = random.nextInt();
int num1 = random1.nextInt();
System.out.println("num = " + num);
System.out.println("num1 = " + num1);

3. 常用方法

  • nextInt():生成int类型随机数
  • nextInt(int bound):生成[0, bound)范围内的随机整数
  • nextLong():生成long类型随机数
  • nextFloat():生成[0,1)范围内的单精度浮点数
  • nextDouble():生成[0,1)范围内的双精度浮点数
  • nextBoolean():生成等概率的true/false随机布尔值

BigInteger和BigDecimal

1. 简介

  • BigInteger:支持任意精度的整数运算
  • BigDecimal:支持任意精度的浮点数运算 两者都用于需要精确计算的场景

2. 创建方式

  • new BigInteger()
  • new BigInteger(String val, int radix):将指定进制的字符串转为十进制
  • new BigDecimal()
  • BigInteger.valueOf()
  • BigDecimal.valueOf()
  • Scanner.nextBigInteger()
  • Scanner.nextBigDecimal()

3. 常用方法

  • add():加法运算
  • intValue():将BigInteger转为int
  • doubleValue():将BigDecimal转为double
  • subtract():减法运算
  • multiply():乘法运算
  • divide():除法运算(BigInteger只保留整数部分,BigDecimal用法不同)
  • remainder():求余运算
  • divideAndRemainder():返回商和余数的BigInteger数组
  • max():取最大值
  • min():取最小值

RoundingMode舍入模式

模式描述
UP远离零方向舍入,始终对非零舍弃部分前面的数字加1
DOWN向零方向舍入(截尾处理),从不对舍弃部分前面的数字加1
CEILING向正无限大方向舍入:正数行为同UP,负数行为同DOWN
FLOOR向负无限大方向舍入:正数行为同DOWN,负数行为同UP
HALF_UP四舍五入:舍弃部分≥0.5时行为同UP,否则同DOWN
HALF_DOWN五舍六入:舍弃部分>0.5时行为同UP,否则同DOWN
HALF_EVEN银行家舍入法:舍弃部分左边数字为奇数时同HALF_UP,偶数时同HALF_DOWN
UNNECESSARY舍弃值为0时正常处理,否则抛出ArithmeticException
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值