Java随机数

1. System.currentTimeMillis() ==>返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,
                                                                可以拿它作为一个随,机数,对一些数取模,得到一定范围的随机数。
2. Math.random()==>返回一个0到1之间的double值,可以把他乘以一定的倍数来得到想要的效果。
3. Random类==>java.util.Random类有两种构建方式:带种子和不带种子 \不带种子.
                                                                             
                                                                                       不带种子
          这种方式将会返回随机的数字,每次运行结果不一样: 
                                                                                         
        输出结果是:
                                    
                                                                        带种子
无论程序运行多少次,返回结果都是一样的:
                                                                        

输出结果,两次结果均相同,重复运行也均是同样的结果:
                                                                                                                                             



 两种方式的差别在于?
我们先来看看API怎么说:
Random() 
          创建一个新的随机数生成器。 
Random(long seed) 
          使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。
通俗说,两者的区别是:
     带种子的,每次运行生成的结果都是一样的。如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
      不带种子的,每次运行生成的都是随机的,没有规律可言。

 创建不带种子的Random对象:    Random random = new Random();
 创建带种子的Random对象有两种方法:    1) Random random = new Random    (555L)  ;                                                                                                                   2) Random random = new Random();          
                                                                         random.setSeed(555L);

Random对象的nextInt(),nextInt(int n)方法的说明: 

1.int nextInt():  返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。  

2.int nextInt(int n):  
    返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。 如下所示ran.nextInt(10):
                                        


打印结果如下,生成了0~9之间的随机整数:  
                                                                                                                                                       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值