J2SE基础之Random类的使用
来源:互联网 发布:java进程占用cpu高 编辑:程序博客网 时间:2024/05/23 01:26
在学习排序算法的时候用到了java.util.Random类,用来取得一些随机数,通过查看API,发现了许多以前忽略的问题,在这里将用到的知识写一下:
Random.nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。但是此随机数可能会很大,而且会有负数出现。
所以常用Random.nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的double值,然后再用
Int i=(int)(random.nextDouble()*100)
取出一个介于0和100的正整数。
Random类还有一个带参数的构造方法:
Random(long seed) 使用单个long种子创建一个新的随机数生成器。
不知道具体的实现方法,但是当这样使用时,会产生一组固定的随机数。
Math.random()方法可以实现同样的效果,而且API也做出了说明:很多应用程序会发现Math.random()方法更易于使用。
public static double random():
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
第一次调用该方法时,它将创建一个新的伪随机数生成器,与以下表达式完全相同
new java.util.Random
之后,新的伪随机数生成器可用于此方法的所有调用,但不能用于其他地方。
此方法是完全同步的,可允许多个线程使用而不出现错误。但是,如果许多线程需要以极高的速率生成伪随机数,那么这可能会减少每个线程对拥有自己伪随机数生成器的争用。
- J2SE基础之Random类的使用
- J2SE基础之Scanner的使用
- 09、J2SE基础-日期相关类,Math与Random类
- J2SE基础夯实系列之String类的split方法
- java基础之Random类
- J2SE之基础语法
- Java基础之Scanner,Random类的对象
- J2SE基础夯实系列之BigInteger使用总结(也是不可变的)
- J2SE基础夯实系列之使用Arrays.sort()方法,以及涉及到的Comparable和Comparator
- java基础 Date,Random,Math的使用
- J2SE之IO基础之一
- J2SE之面向对象基础
- Android面试之J2SE基础
- Android面试之J2SE基础
- J2SE基础:3.对象的创建与使用类的命名空间和访问权限
- J2SE基础夯实系列之抽象类和接口的区别(太透彻了!)
- J2SE基础夯实系列之遍历Map的所有元素
- J2SE基础夯实系列之throws还有throw的区别
- A faulty Java prgm
- 用java写的一个简单浏览器
- Struts核心功能
- java
- 神奇的浏览器
- J2SE基础之Random类的使用
- 今天看完了《IT学生解惑真经》
- Java基础:第二十四讲 类与对象的关系
- [投票]你现在用的Visual C++版本?
- J2SE基础之Scanner的使用
- 笔记1
- (转)Struts 1和 Struts 2的区别和对比
- C#命名规范
- 关于排序之综述(转了大部分)