• Random类


    一:定义:专门用来生成伪随机数,有两个构造器,一个构造器使用默认的种子(以当前时间作为种子),一个需要程序员显式传入一个long型整数的种子

    二.使用方法

     1 import java.util.Arrays;
     2 import java.util.Random;
     3 /**
     4  * 一.Arrays类:此类包含用来操作数组(比如排序和搜索)的各种方法
     5  * 二. public static String toString(byte[] a)返回指定数组内容的字符串表示形式。
     6  *  字符串表示形式由数组的元素列表组成,括在方括号("[]")中。
     7  *  相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(byte) 转换为字符串。
     8  *  如果 a 为 null,则返回 "null"。 
     9  * @author 罗摩衔那
    10  *
    11  */
    12 public class RandomTest
    13 {
    14    public static void main(String[] args) 
    15    {
    16            //获取Random对象
    17            Random r=new Random();
    18            //获取Boolean型随机数
    19            System.out.println("r.nextBoolean():"+r.nextBoolean());
    20            //创建一个byte型数组
    21            byte []summer=new byte[16];
    22            r.nextBytes(summer);//随机生成16个byte型数值
    23            System.out.println(Arrays.toString(summer));//返回指定数组内容的字符串表示形式。
    24            //生成0.0~1.0之间的伪随机数double数
    25            System.out.println("r.nextDouble():"+r.nextDouble());
    26            //生成0.0~1.0之间的伪随机数float数
    27            System.out.println("r.nextFloat():"+r.nextFloat());
    28            //生成平均值是0.0,标准差是1.0的伪高斯数
    29            System.out.println("r.nextGaussian():"+r.nextGaussian());
    30            //生成一个处于int整数取值范围的伪随机数
    31              System.out.println("r.nextInt():"+r.nextInt());
    32            //生成0~100之间的伪随机数
    33            System.out.println("r.nextInt(100):"+r.nextInt(100));
    34            //生成一个处于龙long整数取值范围的伪随机数
    35            System.out.println("r.nextLong():"+r.nextLong());
    36     }
    37 }

    补充:一.ThreadLocalRandom是Random的增强版,出现在java7中

              在并发环境下,使用前者可以减少多线程资源竞争,保证体统具有更好的线程安全性

             二.为避免两个Random对象产生相同的数字序列通常使用当前时间作为Random对象的种子

    Random rand=new Random(System.currentTimeMillis());

    三.ThreadLocalRandom使用方法

    ThreadLocalRandom rand=ThreadLocalRandom().current();
    //生成一个1~20之间的伪随机数
        int a=rand.nextInt(1,20);
    //生成一个2.0~10.0之间的伪随机浮点数
        int a=rand.nextDouble(2.0,10.0);
  • 相关阅读:
    GDB的Breakpoint, Watchpoint和Catchpoint
    sed初学
    比较两个文本不同的行/比较两个文本相同的行
    sprintf()函数基本用法
    vim不用鼠标复制粘贴
    SQL基础-语法
    SQL基础-简介
    XPath学习笔记
    jQuery选择器
    Ubuntu常用命令
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10015003.html
Copyright © 2020-2023  润新知