Java-Random与random

简介: Java-Random与random

🔎Random类

Random类生成随机数的主要类型

🌻Random()

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

这种方法没有使用参数,默认利用系统的当前时间作为参数生成随机数

public static void main(String[] args) {
        Random random = new Random();
        //!!! 左闭右开
        System.out.println(random.nextInt(1));//随机数范围[0,1)
        System.out.println(random.nextInt(10));//随机数范围[0,10)
        System.out.println(random.nextInt(10)+1);//随机数范围[1,11)
        System.out.println(random.nextInt(2)*10+1);//随机数范围[1,21)
        //[0,2)-->*10-->[0,20)-->+1-->[1,21)
        System.out.println(random.nextInt(30)+20);//随机数范围[20,50)
        //[0,30)-->+20-->[20,50)
    }

🌻Random(long seed)

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

也就是每次运行生成的随机数是相同的

public static void main(String[] args) {
        long seed = 30;
        Random random1 = new Random(seed);//含有种子
        for (int i = 0; i < 10; i++) {
            System.out.print(random1.nextInt(20) + " ");
        }
        System.out.println();
        Random random2 = new Random();//不含种子
        for (int i = 0; i < 10; i++) {
            System.out.print(random2.nextInt(20) + " ");
        }
    }

第一次运行结果

第二次运行结果


🔎Math.random()

public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println((int)Math.random());//可以将其进行类型转换
        }
        System.out.println((int)(Math.random()*100));//随机数范围[0,100)
        //[0,1)-->*100-->[0,100)
        //注意((int)(Math.random()*100)) 与 ((int)Math.random()*100)的区别
    }

Math.random()默认为double类型的随机数

默认的随机范围为[0,1)之间的实数

相关文章
|
1月前
|
Java
java的Random类和Arrays.sort类使用实例
java的Random类和Arrays.sort类使用实例
11 0
|
1月前
|
Java
java值random类的使用
java值random类的使用
11 0
|
1月前
|
Java
java的Math类和random类
java的Math类和random类
15 0
|
3月前
|
Java
Java系类 之 生成随机数(random()和Random类)
这篇文章介绍了Java中生成随机数的两种方法:使用`Math.random()`方法和`Random`类的实例方法,并提供了示例代码展示如何使用这些方法生成特定范围或特定条件下的随机数。
|
5月前
|
算法 Java 测试技术
滚雪球学Java(55):想让你的程序更有趣?加上这个Java的Random类的小技巧!
【6月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
42 2
滚雪球学Java(55):想让你的程序更有趣?加上这个Java的Random类的小技巧!
|
6月前
|
Java C语言
JAVA 初识 (一)JOptionPane、Scanner和Random的小认知
JAVA 初识 (一)JOptionPane、Scanner和Random的小认知
|
6月前
|
Java
Java——Math、BigInteger和Random类
Java——Math、BigInteger和Random类
47 0
|
6月前
|
存储 Java
35、Java 中的 Math 类、Random 随机数、UUID、格式化字符串或数字、字符串和数字的相互转换、高精度计算、BigDecimal、计算机中的浮点数都是近似值
35、Java 中的 Math 类、Random 随机数、UUID、格式化字符串或数字、字符串和数字的相互转换、高精度计算、BigDecimal、计算机中的浮点数都是近似值
99 0
|
安全 Java 数据安全/隐私保护
java random随机数的用法
java random随机数的用法
|
11月前
|
Java
【零基础学Java】—Random的基本概述和使用(十二)
【零基础学Java】—Random的基本概述和使用(十二)
下一篇
无影云桌面