java中random的用法小结

 更新时间:2022年06月09日 11:25:46   作者:m0_67402013  
这篇文章主要介绍了java中random的用法详解,主要包括java.lang.Math.random()方法的用法及java.util.Random类用法,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下

java中存在两个随机函数,它们分别来自java.long.Math.random()和 java.util.Random();其中前者的适用范围比较小,完全可以被后者取代。

一、java.lang.Math.random()方法的用法

①、方法类型:

public static double random();

此方法是一个无参,double类型返回值的公开静态方法。

返回一个大于0的double类型数据,该值大于等于0.0且小于1.0,返回的是一个伪随机选择数,在该范围内(几乎)均匀分布。

例如:

public class TestRandom{

	public static void main(String[] args){
		int sum=0;
		while(true){
			float a=(float)Math.random();
			System.out.println(a);
			sum++;
			if(sum==10)
				break;
		}
	}
}

二、 java.util.Random类用法

①、该类的构造方法:

Random():构造一个无参的随机数生成器。使用系统时间的毫秒作为默认种子。

Random(long seed):使用 long数据类型的种子构造一个随机数生成器。

②方法摘要:

boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean值。

double nextDouble():返回下一个伪随机数,它是

取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。

float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。

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

int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值n(不包括)之间均匀分布的 int 值。

long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子。

注意:如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

例如:

public class TestRandom{
    public static void main(String[] args){
        int sum=0;        
        java.util.Random random=new java.util.Random();
        for(int i=0;i<10;i++){
            int a=random.nextInt(10);
            System.out.print(a+"  ");
        }
        System.out.println("");
        for(int i=0;i<10;i++){
            int a=random.nextInt();
            System.out.println(a);
        }
        System.out.println("");
        for(int i=0;i<10;i++){
            double a=random.nextDouble();
            System.out.println(a);
        }
        System.out.println("");
        for(int i=0;i<10;i++){
            boolean a=random.nextBoolean();
            System.out.println(a);
        }
        System.out.println("");
    }
}

结果为:

到此这篇关于java中random的用法详解的文章就介绍到这了,更多相关java中random用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot配置图片虚拟映射示例代码

    Springboot配置图片虚拟映射示例代码

    这篇文章主要给大家介绍了关于Springboot配置图片虚拟映射的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用springboot具有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11
  • 关于集合和字符串的互转实现方法

    关于集合和字符串的互转实现方法

    下面小编就为大家带来一篇关于集合和字符串的互转实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Java线程变量ThreadLocal详细解读

    Java线程变量ThreadLocal详细解读

    这篇文章主要介绍了Java线程变量ThreadLocal详细解读,多线程访问同一个变量的时候,很容易出现问题,特别是多线程对一个共享变量进行写入的时候,为了线程的安全在进行数据写入时候会进行数据的同步,需要的朋友可以参考下
    2024-01-01
  • Spring Boot 使用 Hutool-jwt 实现 token 验证功能

    Spring Boot 使用 Hutool-jwt 实现 token 验证功能

    JWT 就是一种网络身份认证和信息交换格式,这篇文章主要介绍了Spring Boot使用Hutool-jwt实现token验证,需要的朋友可以参考下
    2023-07-07
  • jvm细节探索之synchronized及实现问题分析

    jvm细节探索之synchronized及实现问题分析

    这篇文章主要介绍了jvm细节探索之synchronized及实现问题分析,涉及synchronized的字节码表示,JVM中锁的优化,对象头的介绍等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • java实现json字符串格式化处理的工具类

    java实现json字符串格式化处理的工具类

    这篇文章主要为大家详细介绍了如何使用java实现json字符串格式化处理的工具类,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • 详解mybatis-plus的 mapper.xml 路径配置的坑

    详解mybatis-plus的 mapper.xml 路径配置的坑

    这篇文章主要介绍了详解mybatis-plus的 mapper.xml 路径配置的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java项目--家庭收支记录程序

    Java项目--家庭收支记录程序

    本文主要介绍Java基础阶段的一个小项目——家庭收支记录程序(附完整源代码),本项目所用到的主要知识点:基本语法、数组和方法。本项目并不难,主要是对Java初学者的基础综合运用的训练及检验
    2021-07-07
  • @RequestMapping对不同参数的接收方式示例详解

    @RequestMapping对不同参数的接收方式示例详解

    Spring MVC框架中,@RequestMapping注解用于映射URL到控制器方法,不同的参数类型如简单参数、实体参数、数组参数、集合参数、日期参数和JSON参数,本文给大家介绍@RequestMapping对不同参数的接收方式,感兴趣的朋友一起看看吧
    2024-10-10
  • Mybatis入门指南之实现对数据库增删改查

    Mybatis入门指南之实现对数据库增删改查

    数据持久层主要负责数据的增、删、改、查等功能,MyBatis 则是一款优秀的持久层框架,下面这篇文章主要给大家介绍了关于Mybatis入门指南之实现对数据库增删改查的相关资料,需要的朋友可以参考下
    2022-10-10

最新评论