Random 类的使用

在 Java 中,生成一个随机的 int 值并限定其范围在 -11 之间,可以通过 java.util.Random 类或 Math.random() 来实现。范围 -11 包含了 -101 三个整数,所以可以生成一个从 -11 的随机数。

方法 1:使用 java.util.Random

import java.util.Random;

public class RandomIntExample {
    public static void main(String[] args) {
        Random random = new Random();
        
        // 生成 -1 到 1 之间的随机整数
        int randomInt = random.nextInt(3) - 1; // 生成 0 到 2,然后减去 1
        
        System.out.println("Random number between -1 and 1: " + randomInt);
    }
}

解释:

  • random.nextInt(3) 生成的是一个 02 之间的随机数。
  • 减去 1 后,结果范围是 -11(即:-101)。

方法 2:使用 Math.random()

public class RandomIntExample {
    public static void main(String[] args) {
        // 生成 -1 到 1 之间的随机整数
        int randomInt = (int) (Math.random() * 3) - 1;  // Math.random() 返回 [0, 1) 的浮点数

        System.out.println("Random number between -1 and 1: " + randomInt);
    }
}

解释:

  • Math.random() 返回一个介于 0(含)到 1(不含)之间的 double 值。
  • Math.random() 乘以 3,结果是 0.02.999... 之间的浮点数。将其强制转换为 int,得到的值是 02
  • 减去 1,得到的值在 -11 之间。

方法 3:使用 ThreadLocalRandom(适用于多线程)

ThreadLocalRandom 是一个比 Random 更高效的类,特别适合多线程环境。

import java.util.concurrent.ThreadLocalRandom;

public class RandomIntExample {
    public static void main(String[] args) {
        // 生成 -1 到 1 之间的随机整数
        int randomInt = ThreadLocalRandom.current().nextInt(-1, 2); // 上限是开区间,结果范围为 [-1, 2)

        System.out.println("Random number between -1 and 1: " + randomInt);
    }
}

解释:

  • ThreadLocalRandom.current().nextInt(-1, 2) 生成范围为 -11 的随机整数,第二个参数是排除的上限(2)。

总结:

  • RandomMath.random() 是比较常用的方法,适合简单的随机数生成需求。
  • ThreadLocalRandom 适合多线程环境,且性能优于 Random
posted @   gongchengship  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示