Java | Random 和 Math 的概述及使用
Random
Random类是java.util的包里面提供的我们常用的API,方便我们操作的,还有非常多像Random一样的类。
Random的作用
生成一个随机数字,可以指定范围,也可以真的随机。
Random的使用
//一般都是使用的无参的构造方法
Random random = new Random();
for (int i = 0; i < 5; i++) {
//public int nextInt() 无参的,不规定范围
//产生的随机数的范围是在int的范围之内,别的next的开头的方法也是一样的。
int num = random.nextInt();
System.out.println("产生的随机数:" + num);
/* 产生的5次随机数都不一样:
产生的随机数:-1775517072
产生的随机数:-713016963
产生的随机数:178644475
产生的随机数:-1310793069
产生的随机数:-244950723
*/
}
nextint()方法的重载:
Random random = new Random();
for (int i = 0; i < 5; i++) {
//有参的规定了随机数产生的范 只能是 [0,5) 不包括5
int num = random.nextInt(5);
System.out.println("产生的随机数:" + num);
/* 产生的5次随机数都不一样:
产生的随机数:0
产生的随机数:1
产生的随机数:2
产生的随机数:2
产生的随机数:2
*/
}
产生6位随机数:
//产生一个六位数的随机数
Random random = new Random();
for (int i = 0; i < 5; i++) {
//有参的规定了随机数产生的范 只能是 [0,900000) 不包括900000
int num = random.nextInt(900000); //不用担心会超过,因为产生的随机数最大值也就是899999
//但是因为是产生的6位数随机数,所以说最小也得是100000,所以结果必须加上100000
System.out.println("产生的随机数:" + (num+100000));
/* 产生的5次随机数都不一样:
产生的随机数:299538
产生的随机数:552147
产生的随机数:351696
产生的随机数:278391
产生的随机数:660403
*/
还有非常多的的方法,这里只是说一种常用的方法,还有比如获取随机流,然后操作,更多方法可以去查看API
Math
Math类是一个王数学查关的工具类,里面提供了在量的静态方法,完成王数学运算查关的操作。
常用的方法:
public static double abs(double num) 获取绝对值
public static double ceil(double num) 向上取整
public static double floor(double num) 向下取整
public static long round(double num) 四舍五入
public static double abs(double num) 获取随机数 [0,1)
使用:
public static double abs(double num) 获取绝对值
System.out.println(Math.abs(1)); //1
System.out.println(Math.abs(-1)); //1
public static double ceil(double num) 向上取整
//向上取整是按照数轴上面往右边取整的,向下面取整正好相反
System.out.println(Math.ceil(1.1)); //2.0
System.out.println(Math.ceil(-1.1)); //-1.0
public static double floor(double num) 向下取整
//向下取整是按照数轴上面往左边取整的,同上面取整正好相反
System.out.println(Math.floor(1.9)); //1.0
System.out.println(Math.floor(-1.9)); //-2.0
public static long round(double num) 四舍五入
//四舍五入
System.out.println(Math.round(1.4)); //1
System.out.println(Math.round(1.5)); //2
//负数的时候,有点不一样,-1.5也是取-1,必须-1.6才是-2
System.out.println(Math.round(-1.4)); //-1
System.out.println(Math.round(-1.5)); //-1
System.out.println(Math.round(-1.6)); //-2
public static double abs(double num) 获取随机数 [0,1)
//Math里面也有取随机数,随机数是double类型的,[0,1)
System.out.println(Math.random()); //0.9187288533393174
//也可能得到一个6位数随机数
String random = (int) (Math.random() * 100000) + "";
System.out.println(random); //20632
这里面只是最常用的方法,还有非常多的方法,可以去查看API
细节决定成败!
个人愚见,如有不对,恳请扶正!
Java | Random 和 Math 的概述及使用的更多相关文章
- Java数学函数Math类
Java数学函数Math类常用: Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.23, -12.3) ...
- java Random.nextInt()方法
转: java Random.nextInt()方法 lic int nextInt(int n) 该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含 ...
- java Random类详解
java Random类位于java.util包下,主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家 Random类 (java.util) Random类中实现的随机算法是伪随 ...
- java基础之Math类
Math类概述Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 成员方法 public static int abs(int a):绝对值 public static ...
- 6.算法竞赛中的常用JAVA API :Math类(转载)
6.算法竞赛中的常用JAVA API :Math类 求最值 最小值 Math.min(int a, int b) Math.min(float a, float b) Math.min(double ...
- Java实用类(五) -Math类和指定范围的随机数
1.Math类 java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率) // 绝对值 System.out.println(Math.abs(-3. ...
- 带有静态方法的类(java中的math类)
带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...
- java I/O流类概述
java I/O流类概述
- java 中的 Math.round(-1.5) 等于多少?(未完成)
java 中的 Math.round(-1.5) 等于多少?(未完成)
随机推荐
- Navicat注册机报错No all pattern found! file already patched
第一步:先把注册机放入安装目录. (这一步非常关键,先不要打开桌面上安装好的快捷方式!!) 第二步:如果之前下载过,把注册表清理干净 计算机\HKEY_CURRENT_USER\SOFTWARE\Pr ...
- Redis 内存大小限制+键值淘汰策略配置
限制最大内存 windows 的 maxmemory-policy 策略可能会少一些 # 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试 ...
- python实现布隆过滤器及原理解析
python实现布隆过滤器及原理解析 布隆过滤器( BloomFilter )是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地 ...
- node.js学习(5)读写文件(同步异步)
1 导入文件系统库 # 同步的 读文件 写文件 # 异步 需要用异步处理耗时
- maxscrip_import_csv_构建对象
3DMAX通过脚本文件批量操作相当有效率,国内关于maxscript的资料比较少,知识点比较零散,逐步进行补充. 导入文件: filepath = "... Data\\01_us.csv& ...
- docker磁盘空间清理办法
docker磁盘空间清理办法 前段时间遇到docker磁盘空间太少,无法写入数据的问题.起因是因为我在本地(Mac Pro)运行了多个mysql容器,并且导入了一部分线上数据,最后还没导入完毕就已经没 ...
- MindSpore:自动微分
MindSpore:自动微分 作为一款「全场景 AI 框架」,MindSpore 是人工智能解决方案的重要组成部分,与 TensorFlow.PyTorch.PaddlePaddle 等流行深度学习框 ...
- Java并发:乐观锁
作者:汤圆 个人博客:javalover.cc 简介 悲观锁和乐观锁都属于比较抽象的概念: 我们可以用拟人的手法来想象一下: 悲观锁:像有些人,凡事都往坏的想,做最坏的打算:在java中就表现为,总是 ...
- LuatOS | 全新在线模拟器,随时随地发挥创意
LuatOS --运行在嵌入式硬件的实时操作系统,开启全新物联网生态. 聚焦嵌入式应用生态,内置功能可支持绝大多数物联网应用场景.深度整合Lua语言,只需少量内存和Flash空间就能运行.不局限于合宙 ...
- 『无为则无心』Python基础 — 3、搭建Python开发环境
目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...