一、Math.random

1Math.random内部使用java.util.Random实现

2 直接调用Math.random是产生一个[0,1)之间的随机数

public static void testMathRandom() {

System.out.println(Math.random());

System.out.println(Math.random());

}

输出:

0.9758482010371091

0.3419060236681194

二、java.util.Random

1 内部使用线性同余随机数发生器

2 nextInt(int n)取值范围[0,n)

3 nextInt()取值范围2的32次方个所有整数(正数、负数、零)

public static void testUtilRandom() {

long seed = System.nanoTime();

Random rand1 = new Random(seed);

Random rand2 = new Random(seed);

System.out.println(rand1.nextInt(100));

System.out.println(rand2.nextInt(100));

byte[] bytes = new byte[8];

rand1.nextBytes(bytes);

System.out.println(Arrays.toString(bytes));

rand2.nextBytes(bytes);

System.out.println(Arrays.toString(bytes));

}

输出:

70

70

[-25, -12, 30, -111, 123, 6, 11, 121]

[-25, -12, 30, -111, 123, 6, 11, 121]

随机加解密java_JAVA随机数生成 Math.random和java.util.Random使用简介相关推荐

  1. Java.util.Random 各种方法介绍

    Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法.它可以产生int.long.float.double以及Goussian等类型的随机数.这也是它与java.l ...

  2. Java 8中的java.util.Random

    Java 8中java.util.Random类的简洁功能之一是对其进行了改进,现在可以返回随机的数字流 . 例如,要生成一个介于0(含)和1(不含)之间的随机双精度数的无限流: Random ran ...

  3. java nextgaussian(),java.util.Random.nextGaussian()

    描述 所述nextGaussian()方法用于从该随机数生成器的序列平均值是0.0,标准偏差1.0,以获得下一个伪高斯("正常")分布的双精度值. 声明 以下是java.util. ...

  4. java.util.Random 类的 nextInt(int num )

    随机产生3个67~295的整数并找出数值居中的数 并输出中间的数 例如:100,225和200,输出200 要随机产生某个范围内的整数,用 java.util.Random 类的 nextInt(in ...

  5. 国密算法SM2加解密,签名和验签java语言

    SM2加解密java语言 maven项目 引入bcprov-jdk15on <dependency><groupId>org.bouncycastle</groupId& ...

  6. lua java 加密解密_AES加解密多版本(GO、JAVA、Python)实现

    [TOC] 异构系统基于RESTful接口加解密 环境:GO1.8/JDK1.8/Python2.7 GO示例 package common import ( "crypto/aes&quo ...

  7. 数据加解密基础知识介绍,及Java实现Base64加密(详细)

    加密流程涉及的一些关键词: 明文:准备加密的信息 加密:把明文处理为密文的过程 加密算法:具体实现明文转为密文的算法 加密密钥:通过加密算法进行加密操作需要的密钥 密文:被加密的明文 解密:将密文转为 ...

  8. RSA加解密,.net公钥/私钥兼容java

    背景介绍 之前老程序使用.net进行数据的RSA加解密,现在用JAVA重写,但是.net的公钥和私钥是xml格式,跟java的不一样,需要手动转换一下.目前网上的大部分都是java转.net.我这里来 ...

  9. java.util.Random 实现原理

    概述 该类的实例被用于生成伪随机数的流.该类使用一个 48 位的种子,它被一个线性同余公式所修改.如果 Random 的两个实例用同一种子创建,对每个实例完成同方法调用序列它们将生成和返回相同的数序列 ...

最新文章

  1. JavaWeb中连接数据库的一般方式与通过JNDI连接池的方式
  2. 使用JavaScript调用aspx后台代码
  3. ES6语法---解构赋值
  4. win11开机音乐怎么设置
  5. 美国ADP就业数据是什么?与非农有何关系
  6. php facebook授权登录获取头像_IdentityServer4从数据库获取User登录并对Claims授权验证(五)...
  7. 用友python模块_最新用友NC6.5文件上传漏洞
  8. 广告投放系统后台html,今日头条广告如何投放?今日头条广告后台操作说明
  9. windows7操作系统安装步骤(精简版)
  10. warning CS0108: `___' hides inherited member `___'. Use the new keyword if hiding was intended解决办法
  11. 如何压缩mp4视频大小
  12. ICCV2021 | Vision Transformer中相对位置编码的反思与改进
  13. Windows XP 中如何安装 pem 证书
  14. 词云python灿烈_如何用Python做中文词云?
  15. 在同一个WiFi下的两台电脑,使用webService 和 axis 实现接口调用
  16. NPDP产品经理小知识:新产品开发中的管道管理
  17. startup_stm32f407xx.s
  18. 鉴微品翠之玉雕大师黄时康:众翠皆平等 红尘不染心
  19. 计算机应用基础 第二版,计算机应用基础(第2版)
  20. C++课后习题第五章

热门文章

  1. C# 中使用面向切面编程(AOP)中实践代码整洁
  2. .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码
  3. 部署用于生产的Exceptionlees(一个强大易用的日志收集服务)
  4. .net core2.0下使用Identity改用dapper存储数据
  5. ASP.NET Core 优雅的在开发环境保存机密(User Secrets)
  6. composer常用命令
  7. 【QGIS入门实战精品教程】5.1:QGIS地理坐标转火星坐标系(GCJ02)案例教程
  8. 【计算机图形学】实验:C#语言采用GDI+定义笔刷并填充图形完整实验操作流程
  9. DateTime.Now.Ticks.ToString()说明
  10. C# dataGridView控件实用属性及事件总结