Math
1.所属的包 java.lang 无需导包
2.Math构造方法是私有的 我们不能直接调用创建对象
3.由于Math中提供的属性及方法都是static 所以我们不需要创建对象
4.常用的方法
abs() 返回给定数字的绝对值 参数int long float double
ceil() 返回给定数字最近的整数 向上取整 返回的是double类型 如 1.4 返回 2.0; -2.3 返回 -2
floor() 返回给定数字最近的整数 向下取整 返回的是double类型 如 1.4返回 1.0; -2.3 返回 -3
rint() 返回给定数字最近的整数 若距离一样 返回偶数 返回的是double类型 如 1.4返回 1.0 1.5 返回 2.0
round() 四舍五入 返回的是long类型 注意 -2.3 返回 -2
max(a,b)和min(a,b) 参数int long float double
pow(a,b) a的b次方 参数和返回值都是double
sqrt(a) 获取给定参数的平方根 参数和返回值都是double
random() 随机产生一个 [0.0~1.0) 的数 左闭右开 返回值double
5.Math.random()计算小数的时候精确程度可能会有些损失
0-9之间的随机整数
int value = (int)(Math.random()*10);
Random类
1.在java.uitil包中 需要import导入
2.没有任何继承关系 默认继承Object类
3.查找构造方法—->如何创建对象
Random r = new Random();
4.类中常用的方法
r.nextInt(); 随机产生int类型取值范围的整数 有正有负
r.nextInt(int bound); 随机产生 [0,bound) 之间的整数
bound必须为正数 否则出现会出现异常 IllegalArgumentException 非法的参数异常
r.nextFloat(); 随机产生 [0.0,1.0) 之间的数
r.nextBoolean(); 随机产生一个boolean类型的值 true false
UUID
1.在java.uitil包中 需要import导入
2.没有任何继承关系 默认继承Object类
3.构造方法有 但是没有无参数的 所以通常不会创建对象
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());//通常用作数据库表格的主键 primary key
//随机产生一个32位的随机元素 每一个位置是一个16进制的数字
BigInteger类 大整数
long类型的范围 -2的63次方 ~ 2的63次方-1
如果这还存不下 就需要这个类
1.在java.math包中 需要import导入
2.继承自Number
3.如何创建对象
里面提供的构造方法全是带参数的
我们通常使用的是带String类型的构造方法来创建对象
BigInteger bi = new BigInteger(“123”);
4.类中常用的方法
做四则运算 加减乘除
add() subtract() multiply() divide()
5.小例子
设计一个方法 用来计算数字的阶层
public class RunMain {
public BigInteger factorial(int num){
BigInteger result = new BigInteger("1");//带String类型的参数
for(int i = 1;i<=num;i++){
result = result.multiply(new BigInteger(i+""));//i+""将i自动转换成了String类型的
}
return result;
}
public static void main(String[] args) {
RunMain rm = new RunMain();
BigInteger bi = rm.factorial(7);
System.out.println(bi);
}
}
BigDecima类 大小数
1.在java.uitil包中 需要import导入
2.继承自Number
3.如何创建对象
我们通常使用的是带String类型的构造方法来创建对象
4.类中常用的方法
做四则运算 加减乘除
add() subtract() multiply() divide()
对象.setScale(2,BigDecimal.ROUND_DOWN);
//一共有两个参数 其中前面一个是保留小数点后的位数 后面是参数设置的格式
//比如ROUND_DOWN是向下取整
DecimalFormat类
1.在java.text包中 需要import导入
3.如何创建对象
我们通常使用的是带String类型的构造方法来创建一个格式化对象
0 # 0表示必须存在 #表示必须存在
4.调用format方法将一个小数格式化成一个字符串
DecimalFormat df = new DecimalFormat(“000.###”);
String value = df.format(12.45);
//输出012.45 不够用0补齐
String value = df.format(123.456789);
//输出123.457 四舍五入
DecimalFormat df = new DecimalFormat(“000.000”);
String value = df.format(123.45);
//输出123.450 不够用0补齐