JAVA_生成随机数的三种方法

本文详细介绍了Java中用于生成随机数的常用方法,包括java.util.Random类的使用、java.lang.Math.random()函数以及利用System.currentTimeMillis()获取随机数的技巧,并提供了具体的代码示例和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 微笑每次需要生成随机数的时候都需要现百度一下,今天写篇学习笔记记录一下,下次再用到随机数,必须稳准狠!~静候批评与指正。

 (1)java.util.Random类

          无参构造:Random rd=new Random();(等价于 Random rd=new Random(System.currentTimeMillis()); )因为无参构造实质上的参数是系统时间,所以也带有随机性,所以最终生成的随机数是完全随机的。   

          有参构造: Random  rd=new Random(1L); 因为Random类生成随机数的实质是使用线性同余公式,同一个参数算出的结果其实是一样的,所以相同的参数生成的是相同的随机数列。

          rd.nextInt();  ||   rd.nextDouble();  ||……       可以生成不同类型的随机数。

 (2)java.lang.Math.random()

           lang包的Math类的静态函数。使用起来较方便,究其实质,实现上仍然是使用了Random随机数生成器,所以只是换汤不换药。不足之处是只能生成[0,1)的double类型随机数,所以如果不需要double类型,就必须后续处理。

          以下两处代码等价(生成1-100内的随机整数):

          [1]    Random rd=new Random();

                  int t=(int)(rd.nextDouble()*100+1);

          [2]    int t=(int)(Math.random()*100+1);

 (3)System.currentTimeMillis();

          这个方法返回的是当前系统时间与1970年1月1日00:00这个时间之间的时间差(ms),值是一个long型数据。由于系统时间本身就具有随机性,所以我们可以直接利用这个值来取得一个随机数~

           如生成1-100内的随机整数:

           int m=(int)(System.currentTimeMillis()%100+1);

 目前就了解到这三种常用的随机数生成方法,欢迎鄙视~如果有其他什么冷僻的好玩的怪异的个性的方法,也请不吝赐教~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值