暑期熔炉7月12

我思,故我在

笔记

1.生成随机数  一种是Math类的方法random() 生成double类型0~1的随机数

另一种Random类

Random.nextBoolean() 生产一个随机的boolean值 生成ture 或 false 的概率相同

Random.nextDouble() 生成一个随机的double值 数值介于[0,1.0)之间

Random.nextLong() Random.Float() 同理

Random.nextInt() 生成一个随机的int值 介于 -2的31次方到2的31次方-1之间

Random.nextInt(n) 生成一个[0,n)之间的随机数

2.数字格式化

DecimalFormat类

符号说明
0 显示数字,如果位数不够则补 0
# 显示数字,如果位数不够不发生变化
. 小数分隔符
- 减号
, 组分隔符
E 分隔科学记数法中的尾数和小数
% 前缀或后缀,乘以 100 后作为百分比显示
? 乘以 1000 后作为千进制货币符显示。用货币符号代替。如果双写,用国际货币符号代替;
如果出现在一个模式中,用货币十进制分隔符代替十进制分隔符

 

double a=3.1415

 DecimalFormat f = new DecimalFormat("000.000")

System.out.println("f.format(a)")   输出是003.141

3.大数字运算

BigInteger类 比Int类储存范围要广

BigInteger bi = new BigInteger("5") 可以直接用字符串构造的 大数结构

表1 BigInteger类的常用运算方法
方法名称说明
add(BigInteger val) 做加法运算
subtract(BigInteger val) 做减法运算
multiply(BigInteger val) 做乘法运算
divide(BigInteger val) 做除法运算
remainder(BigInteger val) 做取余数运算
divideAndRemainder(BigInteger val) 做除法运算,返回数组的第一个值为商,第二个值为余数
pow(int exponent) 做参数的 exponent 次方运算
negate() 取相反数
shiftLeft(int n) 将数字左移 n 位,如果 n 为负数,则做右移操作
shiftRight(int n) 将数字右移 n 位,如果 n 为负数,则做左移操作
and(BigInteger val) 做与运算
or(BigInteger val) 做或运算
compareTo(BigInteger val) 做数字的比较运算
equals(Object obj) 当参数 obj 是 Biglnteger 类型的数字并且数值相等时返回 true, 其他返回 false
min(BigInteger val) 返回较小的数值
max(BigInteger val) 返回较大的数值

BigDecimal 类 带小数的大类

BigDecimal add(BigDecimal augend) // 加法操作

BigDecimal subtract(BigDecimal subtrahend) // 减法操作

BigDecimal multiply(BigDecimal multiplieand) // 乘法操作

BigDecimal divide(BigDecimal divisor,int scale,int roundingMode ) // 除法操作

其中,divide() 方法的 3 个参数分别表示除数、商的小数点后的位数和近似值处理模式。

 

表2 roundingMode参数支持的处理模式
模式名称说明
BigDecimal.ROUND_UP 商的最后一位如果大于 0,则向前进位,正负数都如此
BigDecimal.ROUND_DOWN 商的最后一位无论是什么数字都省略
BigDecimal.ROUND_CEILING 商如果是正数,按照 ROUND_UP 模式处理;如果是负数,按照 ROUND_DOWN
模式处理
BigDecimal.ROUND_FLOOR 与 ROUND_CELING 模式相反,商如果是正数,按照 ROUND_DOWN 模式处理;
如果是负数,按照 ROUND_UP 模式处理
BigDecimal.ROUND_HALF_ DOWN 对商进行五舍六入操作。如果商最后一位小于等于 5,则做舍弃操作,否则对最后
一位进行进位操作
BigDecimal.ROUND_HALF_UP 对商进行四舍五入操作。如果商最后一位小于 5,则做舍弃操作,否则对最后一位
进行进位操作
BigDecimal.ROUND_HALF_EVEN 如果商的倒数第二位是奇数,则按照 ROUND_HALF_UP 处理;如果是偶数,则按
照 ROUND_HALF_DOWN 处理

 

posted @ 2023-07-12 19:28  混沌武士丞  阅读(9)  评论(0)    收藏  举报