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) 等于多少?(未完成)
随机推荐
- 如何彻底禁止 macOS Big Sur 自动更新,去除更新标记和通知
作者:gc(at)sysin.org,主页:www.sysin.org 请访问原文链接:https://sysin.org/article/Disable-macOS-Update/,查看最新版.原创 ...
- zookeeper之二:zookeeper3.7.0安装过程实操
前面分享了zookeeper的基本知识,下面分享有关zookeeper安装的知识. 1.下载 zookeeper的官网是:https://zookeeper.apache.org/ 在官网上找到下载链 ...
- BAD SLAM:捆绑束调整直接RGB-D SLAM
BAD SLAM:捆绑束调整直接RGB-D SLAM BAD SLAM: Bundle Adjusted Direct RGB-D SLAM 论文地址: http://openaccess.thecv ...
- mysql 高级和 索引优化,目的:查的好,查的快,性能好
1-事物隔离级别: 更新丢失, 并发情况下,对同一字段进行更新,就会出现更新丢失,采用乐观锁,比较版本号或时间戳可解决 读未提交 解决了更新丢失但是会引起脏读, 二个session.sessionA中 ...
- mybatis学习——映射器(mappers)
在定义 SQL 映射语句之前,我们需要告诉 MyBatis 到哪里去找到这些语句. 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射 ...
- selenium css定位元素
CSS 选择器: 常见符号: #表示 id选择器 .表示 class选择器 >表示子元素,层级 一个空格也表示子元素,但是是所有的后代子元素,相当于 xpath 中的相对路径 一.css:属性定 ...
- 【NX二次开发】Block UI 整形
属性说明 常规 类型 描述 BlockID String 控件ID Enable Logical 是否可操作 Group Logical ...
- 11张流程图帮你搞定 Spring Bean 生命周期
在网上已经有跟多Bean的生命周期的博客,但是很多都是基于比较老的版本了,最近吧整个流程化成了一个流程图.待会儿使用流程图,说明以及代码的形式来说明整个声明周期的流程.注意因为代码比较多,这里的流程图 ...
- 无法在源“”处找到包“entityframework”
当在程序包管理器控制台安装ef时出现这个 出现这种情况可能是程序包源不对 我的是由于之前项目的源有一个内网平台的,把这个取消勾选就能安装成功了 上图设置路径为工具-NuGet包管理器-管理解决方案的N ...
- Sai学习笔记
颜色模块的功能介绍 色轮 RGB滑块 HSV滑块(常用) H:色相 S:纯度 V:明度 中间色条,主要用来混色 颜料盒 调色板 选择工具的使用 选择框 快捷键:Ctrl+D 套索 魔棒 图文工具使用 ...