栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java Random类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Random类

        Ramdom类用于生成随机数。

一、与Math类的ramdom的关系

        两者本质时一样的,因为Math类的random()方法底层就是用Random实现的;

底层源码为:

Random类:

public Random() {
    this(seedUniquifier() ^ System.nanoTime());
}
Math类的Random的方法: public static double random() {
    return RandomNumberGeneratorHolder.randomNumberGenerator.nextDouble();
}

二、Random类的构造方法

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

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

Random类中还定义了很多方法用于获取随机数,最常用的是nextInt(),他返回下一个伪随机数返回值是类型。

        返回下一个随机数的语法格式如下:

         int  nextInt();//生成随机数生成器的序列中均匀分布的int值

         int nextInt(int n);//此随机数生成器的序列,在0(包括)和指定值n(不包括)之间均匀分布的int值

示例:

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        Random rand=new Random();// 创建一个Rondom对象
        for (int i = 0; i < 10; i++) {//生成10个随机数
            int num=rand.nextInt(10);//10 以内的随机数
            System.out.println("第"+(i+1)+"个随机数是:"+num);
        }
    }
}

第1个随机数是:8
第2个随机数是:6
第3个随机数是:1
第4个随机数是:1
第5个随机数是:1
第6个随机数是:6
第7个随机数是:1
第8个随机数是:4
第9个随机数是:5
第10个随机数是:6

三、种子值(seed)

        同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,那么得到的随机数也相同。

public class Test {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {//生成10个随机数
            Random rand=new Random(10);// 创建一个Rondom对象
            int num=rand.nextInt(10);//10 以内的随机数
            System.out.println("第"+(i+1)+"个随机数是:"+num);
        }
    }
}

运行结果:

第1个随机数是:3
第2个随机数是:3
第3个随机数是:3
第4个随机数是:3
第5个随机数是:3
第6个随机数是:3
第7个随机数是:3
第8个随机数是:3
第9个随机数是:3
第10个随机数是:3

Random rand=new Random(10)其中10为种子值

每次调用生成的随机数都是不变的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/489758.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号