API学习Random类随机数生成
来源:互联网 发布:ubuntu打开共享文件夹 编辑:程序博客网 时间:2024/05/29 18:41
package com.wonders.api.date;import java.util.Random;/** * JDK1.7 * Random * (1)这个类的实例是用来生成一串数字随机数。该类使用一个48比特位的种子,使用一个线性一直的公式来修改。 * (2)如果该类有两个具有相同种子的实例被创建出来,为每一个实例调用相同的方法的序列,它们将生成相同的数字序列返回。 * (3)为了保证这种性质,Random类使用了特殊的算法.为了实现Java代码的绝对可移植性,Java实现必须使用这里显示的所有算法. * 然而,只要它们遵守所有方法的一般约定,Rondom的子类允许使用其他的算法。 * (4)由类Random实现的算法使用一种受保护的实用方法,每次调用可以提供32个伪随机生成位. * (5)很多应用中都可以发现Math.random()的使用. * (6)java.util.Random的实例是线程安全的,相同的 java.util.Random实例的并发使用跨线程可能会遇到资源竞争和随之而来的糟糕表现。 * (7)可以考虑在多线程中使用类ThreadLocalRandom. * (8)java.util.Random的实例并不是加密安全的,可以考虑使用SecureRandom获得一个加密安全的伪随机数生成器,用于安全敏感的应用程序. * (9)有两个构造方法 * (a)Random():创建一个新的随机数生成器。这个构造函数将设置该随机数生成器的种子,这个值是一个很可能与此构造函数的任何其他调用不同的值。 * (b)Random(long seed):使用一个long类型的种子创建一个新生的随机数生成器.这个种子值是伪随机数生成器内部的初始化值,这个种子是通过next(int)来维护的. * 这个构造器的调用等价于:Random r = new Random();r.setSeed(seed); * 参数seed是:初始化的随机数种子. * @author liyongyong * */public class RandomTest { public static void main(String[] args) { Random random = new Random(); /** * public void setSeed(long seed) * 使用一个单独的long类型数值来设置随机数生成器的种子。 * setSeed的一般规定是,它改变了这个随机数生成器对象的状态,目的是让它与刚刚创建的参数种子的状态完全相同。 * 类Random的setSeed方法是通过原子性的更新种子((seed ^ 0x5DEECE66DL) & ((1L << 48) - 1))并且 * 通过调用 nextGaussian()来清除haveNextNextGaussian的标志. * 类Random的setSeed的实现恰巧使用了给定种子的48比特位。 * 然而,一般来说,重写方法可以使用长参数的所有64位作为种子值。 */ /** * 返回一个int类型的随机数 */ int num = random.nextInt(100); System.out.println("100以内的随机数是 : " + num); /** * 返回一个布尔类型的随机数 */ boolean flag = random.nextBoolean(); System.out.println("返回的随机数是 " + flag); /** * 返回一个double类型的随机数 */ double d = random.nextDouble(); System.out.println("返回的double类型随机数是 : " + d); /** * 返回一个float类型的随机数 */ float f = random.nextFloat(); System.out.println("返回的float类型随机数是 : " + f); /** * 返回一个long类型的随机数 */ long l = random.nextLong(); System.out.println("返回的long类型随机数是 : " + l); }}
阅读全文
1 0
- API学习Random类随机数生成
- 使用Random类生成随机数
- Python模块学习--random 随机数生成
- Python模块学习 ---- random 随机数生成
- Python模块学习--random 随机数生成
- Python模块学习 ---- random 随机数生成
- Python模块学习 ---- random 随机数生成
- Python模块学习 ---- random 随机数生成
- Python 模块学习:random 随机数生成
- JAVA学习笔记:随机数(Math类和Random类生成的随机数)
- 生成随机数的类Random和ThreadLocalRandom
- 生成随机数的类Random和ThreadLocalRandom
- random生成随机数
- Python random 生成随机数
- Random生成随机数
- Random()生成随机数
- Java 随机数生成 Random
- Android:Random生成随机数
- jvm(3)类加载器
- call()/apply()/bind()/FD/FE/无函数重载/基本值/引用值
- pip 相关命令的应用
- MySQL 存储过程参数用法 in, out, inout
- Centos 通过 Nginx 和 vsftpd 构建图片服务器
- API学习Random类随机数生成
- Biridian Forest CodeForces
- ActiveMQ在商城案例中的使用
- Balanced Number [数位DP]
- Word里面的大括号怎么打出来?
- 机器学习绘图(numpy和matplotlib库)
- 以此作为我博客的开始
- uva 11572 Unique Snowflakes (唯一的雪花)
- CSS 字体效果