Math类
1.位于Java.lang包
2.所有的方法都是静态方法,这个类是final类,没有子类
Math.random()方法
生成0.0(包含)-1(不包含)的随机数
生成a-b范围之间的随机整数
int num = (int)(Math.random()*(b-a))+a;
Random类
位于java.util包中
步骤
1.创建随机数生成器
Random random = new Random();
2.生成随机数
random.nextInt();//生成int范围内的随机整数
注意:
1.种子不同,生成的随机数不同
种子相同,生成的随机数相同
Random random = new Random(100);
Random random1 = new Random(100);
种子都为100,生成的随机数相同
2.种子变化越多,随机数的可能性更多,常用当前毫秒数作为种子
Random random1 = new Random(System.currentTimeMillis());
有没有生成绝对唯一的随机数的方法
uuid方法,在java自带的utils包里,可以直接调用
public static String getUUID(){
UUID uuid=UUID.randomUUID();
String uuidStr=uuid.toString();
return uuidStr;
}
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。