Java获取随机数的几种方式

  • 1、Random类
    构造方法:Random(); 个人建议使用无参构造方法 方法:int nextInt(int x);
    返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。

  • 2、Math.random();是令系统随机选取大于等于0.0,且小于 1.0 的伪随机 double 值

  • 3、在JDK7中,java.util.concurrent包含了一个相当便利的类,ThreadLocalRandom,当应用程序期望在多个线程或ForkJoinTasks中使用随机数时。
    对于并发访问,使用TheadLocalRandom代替Math.random()可以减少竞争,从而获得更好的性能。
    你可以调用ThreadLocalRandom.current(), 然后调用它的其中一个方法去获取一个随机数即可

  • 4、UUID是jdk1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID.
    UUID是由一个十六位的数字组成,表现出来的形式例如 550E8400-E29B-11D4-A716-446655440000

import java.util.Random;
import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom;

/**
 * 需求:利用java代码,生成10-100之间的随机数
 */
public class Demo01 {
    public static void main(String[] args) {
        // 第一种:这里需要实例化一个Randam类,这里需要导包的,注意是util下的:java.util.Random;
        Random random = new Random();
        // nextInt()  返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
        int ran1 = random.nextInt(91) + 10;// nextInt(91)产生一个1,90之间的随机整数
        System.out.println(ran1);

        // 第二种:使用Math.random
        int ran2 = (int) (Math.random() * 91 + 10);// Math.random():获取0.0,1.0的随机小数
        System.out.println(ran2);

        /** 第三种:Java 7之前我们使用Math.random()产生随机数,使用原子变量来保存当前的种子,
         * 这样两个线程同时调用序列时得到的是伪随机数,而不是相同数量的两倍。
        */
        ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current();
        int ran3 = threadLocalRandom.nextInt(10, 91);
        System.out.println(ran3);

        // 第四种:UUID,全球唯一,不重复
        String uuid = UUID.randomUUID().toString();
        uuid = uuid.replace("-", "");
        System.out.println(uuid);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值