Random类和Math.random()方法生成随机数
一、Random类
Random类位于java.util包中,是一个生成随机数的工具类,里面包含很多生成随机数的方法,随机数的种类也很多,构造方法:
//创建一个新的随机数生成器
Random()
//使用一个long类型的种子创建一个新的随机数生成器
Random(long seed)
下面使用简单程序比较构造方法传入种子和不传入种子的区别:
public static void main(String[] args) {
for (int i = 0 ;
i < 5;
i++){
Random random = new Random();
System.out.print("不传入种子:");
for (int j = 0 ;
j < 5;
j++){
System.out.print(random.nextInt(50) + " ");
}
Random random1 = new Random(30);
System.out.print("传入种子:");
for (int j = 0 ;
j < 5;
j++){
System.out.print(random1.nextInt(50) + " ");
}
System.out.println();
}
}
【Random类和Math.random()方法生成随机数】运行结果显示,不传入种子时每次随机生成,传入种子后,无论生成多少次,随机数序列都是固定的。
运行结果:
不传入种子:33 7 0 43 40 传入种子:6 18 15 4 36
不传入种子:32 36 42 8 44 传入种子:6 18 15 4 36
不传入种子:35 10 30 41 15 传入种子:6 18 15 4 36
不传入种子:7 21 10 38 48 传入种子:6 18 15 4 36
不传入种子:10 38 8 26 20 传入种子:6 18 15 4 36
常用方法:
int nextInt()//随机生成int类型的随机数
int nextInt(int bound) //随机生成0~bound范围内int类型的随机数
long nextLong()//随机生成long类型的随机数
float nextFloat()//随机生成float类型的随机数
double nextDouble()//随机生成double类型的随机数
boolean nextBoolean()//随机生成boolean类型的随机数
常用方法示例:
public static void main(String args[]){
Random random = new Random();
System.out.println("int类型的随机数:" + random.nextInt());
System.out.println("0~100之间int类型的随机数:" + random.nextInt(100));
System.out.println("long类型的随机数:" + random.nextLong());
System.out.println("float类型的随机数:" + random.nextFloat());
System.out.println("double类型的随机数:" + random.nextDouble());
System.out.println("boolean类型的随机数:" + random.nextBoolean());
}
运行结果:
int类型的随机数:-1922584787
0~100之间int类型的随机数:77
long类型的随机数:810046470795953043
float类型的随机数:0.099689186
double类型的随机数:0.22017380615351756
boolean类型的随机数:false
二、Math.random()方法 Math类位于java.lang包中,类中包含了基本数字运算的静态方法,Math.random()方法作用是生成一个0.0~1.0的double类型随机数。
下面程序随机生成10个大于等于0.0小于1.0的随机数:
public static void main(String[] args) {
for (int i = 0 ;
i < 10 ;
i++){
System.out.println("随机生成一个大于等于0.0小于1.0的数 :" + Math.random());
}
}
运行结果:
随机生成一个大于等于0.0小于1.0的数 :0.6733948523337862
随机生成一个大于等于0.0小于1.0的数 :0.437521060962653
随机生成一个大于等于0.0小于1.0的数 :0.6165672093624672
随机生成一个大于等于0.0小于1.0的数 :0.9604598185026124
随机生成一个大于等于0.0小于1.0的数 :0.4669270016086634
随机生成一个大于等于0.0小于1.0的数 :0.9466395132261689
随机生成一个大于等于0.0小于1.0的数 :0.9791012995327195
随机生成一个大于等于0.0小于1.0的数 :0.07037790797911325
随机生成一个大于等于0.0小于1.0的数 :0.23209136646463813
随机生成一个大于等于0.0小于1.0的数 :0.8948266746875501
推荐阅读
- Python-类和对象
- 分部类和分部方法
- python|python random使用方法
- Python之random库的常用函数有哪些
- [Toddler's|[Toddler's Bottle]-random
- 友元(友元函数、友元类和友元成员函数)|友元(友元函数、友元类和友元成员函数) C++
- Python的类和对象入门
- 练习|练习 40 - 模块、类和对象 - 笨办法学Python3
- Flink-sink的种类和基本使用
- Flink-dataStream的种类和基本使用