java Random()用法
1.random.nextInt()
random.nextIn()的作用是随机生成一个int类型,因为int 的取值范围是 -2147483648——2147483647 ,所以生成的数也是处于这个范围。
2.random.nextInt(int bound)
random.nextInt(int bound)方法的作用是生成一个0-参数bound范围内的随机数,但是要记住,参数bound必须是正数,不可为负数,否则在运行时会报java.lang.IllegalArgumentException: bound must be positive的错误,提示bound必须是正数,下面看用法:
Random random = new Random();
System.out.println("int:"+random.nextInt(20));
输出:
int:12
3.random.nextLong()
random.nextLong()会随机生成一个Long类型,同理,因为Long的取值范围是 -9223372036854775808——9223372036854775807,所以也会生成一个这个区间的数。
Random random = new Random();
System.out.println("Long:"+random.nextLong());
System.out.println("Long.MIN-Long.MAX:"+Long.MIN_VALUE+"-"+Long.MAX_VALUE);
输出:
Long:-5059225360401714325
Long.MIN-Long.MAX:-9223372036854775808-9223372036854775807
1
2
3
4
5
6
7
4.random.nextDouble()
random.nextDouble()会生成一个0-1的double类型,而不是生成double取值范围中的数,下附取值范围,就不多说了。
Random random = new Random();
System.out.println("double:"+random.nextDouble());
System.out.println("Double.MIN-Double.MAX:"+Double.MIN_VALUE+"-"+Double.MAX_VALUE);
输出:
double:0.9059561641891956
Double.MIN-Double.MAX:4.9E-324-1.7976931348623157E308
1
2
3
4
5
6
7
在输出double的取值范围时,我们会发现是4.9E-324-1.7976931348623157E308,会有一个大写字母E+数字的组合,这就是科学计数法,E代表10,后面跟多少数字,就代表是10的多少次方,如下:
System.out.println("double E1 = "+4.9E1);
System.out.println("double E2 = "+4.9E2);
System.out.println("double E3 = "+4.9E3);
System.out.println("double E4 = "+4.9E4);
System.out.println("double E-1 = "+4.9E-1);
System.out.println("double E-2 = "+4.9E-2);
System.out.println("double E-3 = "+4.9E-3);
System.out.println("double E-4 = "+4.9E-4);
输出:
double E1 = 49.0
double E2 = 490.0
double E3 = 4900.0
double E4 = 49000.0
double E-1 = 0.49
double E-2 = 0.049
double E-3 = 0.0049
double E-4 = 4.9E-4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
在科学技术法中,当E后是正数时,只有从E7,也就是10的7次方开始才使用科学计数法表示,在E后是负数时,在E-4,也就是10的-4次方开始使用科学计数法表示。
5.random.nextFloat()
random.nextFloat()会生成一个随机的0-1之间的浮点型,大体同double一样,下附取值范围。
Random random = new Random();
System.out.println("float:"+random.nextFloat());
System.out.println("Float.MIN-Float.MAX:"+Float.MIN_VALUE+"-"+Float.MAX_VALUE);
输出:
float:0.56538385
Float.MIN-Float.MAX:1.4E-45-3.4028235E38
1
2
3
4
5
6
7
6.random.nextBoolean()
random.nextBoolean()会生成一个true或false,这个想必就不用多说了。
Random random = new Random();
System.out.println("boolean:"+random.nextBoolean());
输出:
boolean:false
1
2
3
4
5
7.random.nextBytes(byte[] bytes)
random.nextBytes()会为一个byte类型的数组随机赋值,具体如下所示:
Random random = new Random();
byte[] bytes = new byte[5];
random.nextBytes(bytes);
for (int i = 0; i < bytes.length; i++) {
byte aByte = bytes[i];
System.out.print(aByte+"\n");
}
输出:
25
43
75
-84
-36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
因为byte的取值范围为 -128到127,所以也就是说会为一个byte类型的数组在-128,127这个区间内重新随机赋值,此处“重新随机赋值”划重点,也就是说,即使原本的byte数组里面有值,那么也会重新覆盖掉,看下面的例子:
Random random = new Random();
byte[] bytes = {1,2,3,4,5};
random.nextBytes(bytes);
for (int i = 0; i < bytes.length; i++) {
byte aByte = bytes[i];
System.out.print(aByte+"\n");
}
输出:
15
82
-67
74
72
————————————————
原文链接:https://blog.csdn.net/qq_39754721/article/details/94736251
java Random()用法的更多相关文章
- Java 习惯用法总结
转自:http://www.importnew.com/15605.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » Java 习惯用法总结 2015/04/ ...
- java Random类详解
java Random类位于java.util包下,主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家 Random类 (java.util) Random类中实现的随机算法是伪随 ...
- 【转】java list用法示例详解
转自:http://www.jb51.net/article/45660.htm java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解. Lis ...
- Java List 用法代码分析 非常详细
Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3 ...
- Java split用法
Java split用法 java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat ...
- Java Enum用法详解
Java Enum用法详解 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举 ...
- java Random.nextInt()方法
转: java Random.nextInt()方法 lic int nextInt(int n) 该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含 ...
- 你真的了解java的lambda吗?- java lambda用法与源码分析
你真的了解java的lambda吗?- java lambda用法与源码分析 转载请注明来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程 new Thread(() -> ...
- java随机函数用法Random
原文地址:http://blog.csdn.net/wpjava/article/details/6004492 import java.util.Random; public class Ran ...
随机推荐
- HttpContext.Current.Request.Url 地址:获取域名
假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli 协议名----http://域名 ---- www.test.com站 ...
- Luogu P2024 [NOI2001]食物链 | 并查集
题目链接 思路:并查集,因为一开始我们并不知道每一只动物是哪一个种类的,所以我们干脆建立三倍于n的空间,1~n这三分之一用来存第i只动物是A的情况,n+1~2n这三分之一用来存第(i-n)只动物是B的 ...
- SpringBoot整合reids之JSON序列化文件夹操作
前言 最近在开发项目,用到了redis作为缓存,来提高系统访问速度和缓解系统压力,提高用户响应和访问速度,这里遇到几个问题做一下总结和整理 快速配置 SpringBoot整合redis有专门的场景启动 ...
- 黑客是如何利用DNS域传送漏洞进行渗透与攻击的?
一.DNS域传送 DNS :Domain Name System 一个保存IP地址和域名相互映射关系的分布式数据库,重要的互联网基础设施,默认使用的TCP/UDP端口号是53 常见DNS记录类型: 1 ...
- C++ 入门到进阶 学习路线
前言 学习这件事不在乎有没有人教你,最重要的是在于你自己有没有觉悟和恒心. -- 法布尔 简介 随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能 ...
- flask cache
http://brunorocha.org/python/flask/using-flask-cache.html 如何在大项目中使用cache 新建全局cache.py cache = Cache( ...
- MAC VMware fusion 12.1.0 Centos7 网络配置
虚拟机选择NAT模式 获取mac机器中vmnet8的gateway地址 找到 # NAT gateway address这一行,下面的ip就是gateway地址 cat /Library/Prefer ...
- oracle 与 前台 md5
创建函数: CREATE OR REPLACE FUNCTION MD5( passwd IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); BE ...
- php 变量和数据类型
$ 定义变量: 变量来源数学是计算机语言中能存储计算结果或能表示值抽象概念.变量可以通过变量名访问.在指令式语言中,变量通常是可变的. php 中不需要任何关键字定义变量(赋值,跟Java不同,Jav ...
- 力扣 - 剑指 Offer 52. 两个链表的第一个公共节点
题目 剑指 Offer 52. 两个链表的第一个公共节点 思路1(栈) 若两个链表相遇,则从它开始相遇的地方到链表末尾应该都是相同的,那么我们可以将两个链表分别放入两个栈中,然后依次循环比较两个栈顶的 ...