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) 等于多少?(未完成)
随机推荐
- IDEA 最实用快捷键【MAC版本】
目录 option + F7 Ctrl + B / Ctrl +鼠标左键(一键两用,可以无限循环的跳过来跳过去,我跳过去了,我又跳回去了) command + E (这个快捷键很有用,为什么我老是用不 ...
- Sqlflow 之隐私政策(Privacy plolicy)介绍
在大数据技术流行的今天,SQLFlow 可以通过分析各种数据库对象的定义给开发和管理者带来很大的助力.能够让您在大数据时代应对自如,如虎添翼. 在之前的文章中我们已经详细介绍过SQLFlow是什么.能 ...
- 201871030138-杨蕊媛 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-daizh ...
- Netty 框架学习 —— 传输
概述 流经网络的数据总是具有相同的类型:字节,这些字节如何传输主要取决于我们所说的网络传输.用户并不关心传输的细节,只在乎字节是否被可靠地发送和接收 如果使用 Java 网络编程,你会发现,某些时候当 ...
- 性能分析之CPU分析-从CPU调用高到具体代码行(JAVA)
通常情况下,性能报告中只说CPU使用率高的时候,并不能帮助定位问题.因为CPU高会有多种不同的情况.CPU有五种状态(us sy id wa st), 在vmstat中能显示出来,这个想必很多人都 ...
- Task00:绪论 - 环境搭建
本章重点: 在电脑上安装MySQL数据库系统 安装客户端并连接到本机上的MySQL数据库 使用提供的脚本创建本教程所使用的示例数据库 1. MySQL 8.0 的安装 考虑到大家所使用的操作系统的不同 ...
- GoLang:通过url将值从view层(.tpl)传递到controller层
beego框架 1.定义路由: beego.Router("/UpdateState/:statename/:id", &controllers.ContentContro ...
- SpringCloud(1)生态与简绍
一:微服务架构简绍学习目标 1.技术架构的演变,怎么一步步到微服务的:2.什么是微服务,优点与缺点 :3.SOA(面向服务)与MicroServices(微服务)的区别 :4.Dubbo 与Spri ...
- leetcode1141 N*3矩阵。阿里笔试no.1
你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同). 给你网格图的行数 n . 请你返 ...
- 无需会员将有道云笔记脑图转换xmind
我的烦恼 有道云笔记有脑图功能,我平时经常用到,之所以很少用到其他脑图工具,是因为我一直用有道云笔记写笔记.因此编辑脑图和查看脑图比较方便,但是需要将脑图导出的时候目前只支持图片和xmind,但是需要 ...