这篇“Java中生成随机数的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中生成随机数的方式有哪些”文章吧。
该方法相对于 Random 类而言比较简单,因为 Math 类是 Java 的内置包装类,无需创建一个实例化对象,可以在程序中直接调用该类,以及使用该类的方法。
使用该方法的小伙伴们应该都知道,该方法只能是生成 [0.0,1.0) 之间 double 类型的任意一个小数,生成的随机数相对比较单一,想要生成其他类型的,就需要在该方法前面加上一个类型强转。
public class Demo01 {
public static void main(String[] args) {
for (int i = 0; i <5 ; i++) {
System.out.println("第"+(i+1)+"个随机数"+Math.random());
}
}
}
打印结果:
第1个随机数0.414584525834634
第2个随机数0.20853675432372987
第3个随机数0.8055865595912437
第4个随机数0.36986922245541953
第5个随机数0.8716016725358281
生成具体范围内的任意一个整数,例如在 [20, 35] 之间生成随机数。
public class Demo01 {
public static void main(String[] args) {
int num;
for (int i = 0; i < 5; i++) {
/**
* 要求是在[20,35]之间生成一个随机整数
* 因为要包括35,但是random随机生成是不包括右侧的值,所以右侧取36
* 即[20,36)
* 左右各减去20 [0,16)
* 而Math.random的范围是在[0,1),需要乘上16
* 最后再加上20,即[20,36)
* 在进行 int 强转
* */
num = (int)(Math.random()*16)+20;
System.out.println("第"+(i+1)+"次:"+num);
}
}
}
打印结果:
第1次:29
第2次:25
第3次:33
第4次:34
第5次:30
Random 相较于 Math.random() 方法而言,它提供了各式各样的生成随机数的方式,可以生成 boolean,int,long,float,byte以及double类型的随机数。
Random 类是属于 java.util 包的,该类经常使用的两个构造方法如下:
Random() 使用一个和系统时间(也就是你电脑右下角的时间)对应的数字作为种子数,然后根据这个种子数构造一个 Random 对象。
Random(long seed) 使用单个 long 类型的参数创建一个新的随机数生成器。
下面将通过编写一个简单的 Java 程序,来演示 Random 的具体使用:
import java.util.Random;
public class Demo02 {
public static void main(String[] args) {
// 需要创建一个Random类实例化对象
Random random=new Random();
double d1=random.nextDouble(); // 生成一个[0.0,1.0)之间double类型的小数
double d2=random.nextDouble() * 10; // 生成一个[0.0,10.0)之间double类型的小数
int i1=random.nextInt(5); // 生成[0,5)之间的一个整数
int i2=random.nextInt(15)-5;// 生成[-5,10)之间的一个整数
long l1=random.nextLong(); // 生成一个长整型的整数
boolean b1=random.nextBoolean(); // 生成一个布尔值
float f1=random.nextFloat(); // 生成一个浮点型
System.out.println("[0.0,1.0)随机生成的小数是:"+d1);
System.out.println("[0.0,10.0)随机生成的小数是:"+d2);
System.out.println("[0,5)随机生成的整数是:"+i1);
System.out.println("[-5,10)随机生成的整数是:"+i2);
System.out.println("随机生成的长整型是:"+l1);
System.out.println("随机生成的布尔值是:"+b1);
System.out.println("随机生成的浮点型是:"+f1);
}
}
打印结果:
[0.0,1.0)随机生成的小数是:0.9045874539818738
[0.0,10.0)随机生成的小数是:1.1869962319035776
[0,5)随机生成的整数是:2
[-5,10)随机生成的整数是:1
随机生成的长整型是:4030922400205769823
随机生成的布尔值是:true
随机生成的浮点型是:0.3139649
以上就是关于“Java中生成随机数的方式有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。