Random 类的使用
在 Java 中,生成一个随机的 int
值并限定其范围在 -1
到 1
之间,可以通过 java.util.Random
类或 Math.random()
来实现。范围 -1
到 1
包含了 -1
、0
和 1
三个整数,所以可以生成一个从 -1
到 1
的随机数。
方法 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)
生成的是一个0
到2
之间的随机数。- 减去
1
后,结果范围是-1
到1
(即:-1
、0
、1
)。
方法 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.0
到2.999...
之间的浮点数。将其强制转换为int
,得到的值是0
到2
。 - 减去
1
,得到的值在-1
到1
之间。
方法 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)
生成范围为-1
到1
的随机整数,第二个参数是排除的上限(2
)。
总结:
Random
和Math.random()
是比较常用的方法,适合简单的随机数生成需求。ThreadLocalRandom
适合多线程环境,且性能优于Random
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了