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) 等于多少?(未完成)
随机推荐
- GO学习-(21) Go语言基础之Go性能调优
Go性能调优 在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况. Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling ...
- Step By Step(Lua模块与包)
Step By Step(Lua模块与包) 从Lua 5.1开始,我们可以使用require和module函数来获取和创建Lua中的模块.从使用者的角度来看,一个模块就是一个程序库,可以通过requi ...
- SQL Server 动态创建表结构
需求是,在word里面设计好表结构(主要在word中看起来一目了然,方便维护),然后复制sql 里面,希望动态创建出来 存储表结构的表 CREATE TABLE [dbo].[Sys_CreateTa ...
- 无人驾驶汽车发展需要激光雷达和V2X技术
无人驾驶汽车发展需要激光雷达和V2X技术
- CVPR2020论文解读:手绘草图卷积网络语义分割
CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...
- 怎样训练YOLOv3
怎样训练YOLOv3 Training YOLOv3 : Deep Learning based Custom Object Detector 本文将在一些公开的雪人图片和视频上分享训练过程.有助于训 ...
- Java基础_循环嵌套_打印乘法口诀、菱形,各种图形,计算二元一次和三元一次方程组_7
循环嵌套 打印乘法口诀 for(int j=1;j<=9;j++){ for(int i=1;i<=j;i++){ System.out.print(i+"*"+j+& ...
- SpringCloud01:微服务概述
一.什么是微服务 微服务是一种架构风格,是一种架构设计方式,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地 ...
- 又见 xcrun: error: invalid active developer path 错误
每次升级完macOS都会被 Xcode command line tools missing xcrun 问候一遍,也是挺烦的. 这个春节过光顾着吃喝玩乐,过的蛮颓废的,感觉再也追不上朋友圈各位大佬了 ...
- Zookeeper 面试题(持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...