一.Math.random()方法

 它会生成一个大于等于0.0且小于1.0[0.0~1.0),的double类型的数字.

 public static void main(String[] args) {
        // 案例1
        System.out.println("Math.random()=" + Math.random());// 结果是个double类型的值,区间为[0.0,1.0)
        int num = (int) (Math.random() * 3); // 注意不要写成(int)Math.random()*3,这个结果为0,因为先执行了强制转换
        System.out.println("num=" + num);
        /**
         * 输出结果为:
         * 
         * Math.random()=0.02909671613289655
         * num=0
         * 
         */
  }

二.java.util.Random

下面Random()的两种构造方法:

    Random():创建一个新的随机数生成器。

    Random(long seed):使用单个 long 种子创建一个新的随机数生成器。

     我们可以在构造Random对象的时候指定种子(这里指定种子有何作用,请接着往下看),如:Random r1 = new Random(20);

  或者默认当前系统时间的毫秒数作为种子数:Random r1 = new Random();

  需要说明的是:你在创建一个Random对象的时候可以给定任意一个合法的种子数,种子数只是随机算法的起源数字,和生成的随机数的区间没有任何关系。如下面的Java代码

Random rand =new Random(25);
int i;
i=rand.nextInt(100);

 

更多推荐

生成随机数的两种方法