亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 生成随机数实战:Random 与 Math.random 详解

本简明教程教你用两种最常用方法在 Java 中生成随机值:java.util.Random 与 Math.random()。两者均属 JDK,但服务略不同的用例并提供独特特性。

用 java.util.Random 生成随机数

Random 类可产生 int、long、float、double、boolean。实例化一次并复用对象以避免性能开销。

下面完整示例输出 10 个 0-99(含)随机整数。若需上界含边界,参数加 1。

import java.util.Random; public class RandomNumbers { public static void main(String[] args) { Random rng = new Random(); for (int i = 0; i < 10; i++) { int randomNumber = rng.nextInt(100); // 0‑99 System.out.println("Random No: " + randomNumber); } } }

典型输出:

Random No: 17 Random No: 57 Random No: 73 Random No: 48 Random No: 68 Random No: 86 Random No: 34 Random No: 97 Random No: 73 Random No: 18

Random 对大多数用途线程安全,可跨多线程共享同一实例。为得可复现序列,传种子:new Random(42)。

用 Math.random() 生成随机数

仅需 [0.0, 1.0) 区间快速 double 时,Math.random() 便捷。内部委托单个 Random 实例,小负载下高效。

示例:生成 10 个 double 值。

public class DemoRandom { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println(Math.random()); } } }

典型输出:

0.46518450373334297 0.14859851177803485 0.5628391820492477 0.6323378498048606 0.1740198445692248 0.9140544122258946 0.9167350036262347 0.49251219841030147 0.7426056725722353 

生成其他区间整数或 double,结合 Math.random() 算术即可。如获 1-10 含边界随机 int:(int)(Math.random() * 10) + 1。

关键要点

java

  1. Java EE应用部署Microsoft Azure全流程实战指南
  2. Java List 接口:概览、实现类与关键方法
  3. Java TreeMap 完全掌握:有序 Map 实战指南
  4. 精通 Java ConcurrentHashMap:操作、示例与最佳实践
  5. 掌握 Java 集合算法:排序、打乱、搜索与更多实用操作
  6. Java 对象数组创建:分步指南
  7. Java String length() 方法:获取字符串长度(示例)
  8. 精通 Java String compareTo():语法、用例与实战示例
  9. Java BufferedReader 读取文件:实战指南与示例
  10. Java 中 char 与 String 相互转换:实用示例与最佳实践
  11. Java 递归反转字符串:原理、代码实现与性能分析
  12. Java 8 Stream API:声明式数据处理与并行计算完全指南