Java_Math类和Random类
Math类
java.lang.Math提供了一系列静态方法用于科学计算, 其方法的参数和返回值类型一般都为double型, 如果需要更加强大的数学运算能力计算高等数学中的相关内容, 可使用apache commons下面的Math类库
Math类的常用方法:
abs取绝对值
acos, asin, atan, cos, sin, tan三角函数
sqrt平方根
pow(double a, double b), a^b
max(double a, double b), 取最大值
min(double a, double b), 取最小值
ceil(double a), 大于a的最小整数
floor(double a), 小于a的最大整数
random(), 返回0.0到1.0的随机数
long round(double a), double型数据a转换为long型(四舍五入)
toDegrees(double angrad), 弧度转换为角度
roRadians(double angdeg), 角度转换为弧度
/**************示例程序****************/
public static void main(String[] args) {
// 取正相关操作
System.out.println(Math.ceil(3.1));
System.out.println(Math.floor(3.4));
System.out.println(Math.round(3.1));
System.out.println(Math.round(3.8));
System.out.println("##########################");
// 绝对值, 开方, a的b次幂相关操作
System.out.println(Math.abs(-1));
System.out.println(Math.abs(-1.1));
System.out.println(Math.sqrt(36));
System.out.println(Math.pow(2, 4));
System.out.println("##########################");
// Math类中常用的常量
System.out.println(Math.PI);
System.out.println(Math.E);
System.out.println("##########################");
// 随机数
System.out.println(Math.random());
}
/*
4.0
3.0
3
4
##########################
1
1.1
6.0
16.0
##########################
3.141592653589793
2.718281828459045
##########################
0.02732034556476759
*/
Random类
Math类中虽然有产生随机数的方法Math.random(), 但是通常需要的随机数的范围并不是[0,1)之间的double类型数据, 这时就需要对其进行一些复杂的运算. 如果使用Math.random()计算过于复杂的话, 可以使用另一种方式得到随机数, 即Random类, 这个类是专门用来生成随机数, 并且Math.random()底层就是调用的Random类的nextDouble()方法
/******************示例程序*************************/
import java.util.Random;
public static void main(String[] args) {
Random rand = new Random();
// 随机生成[0,1)之间的double类型的数据
System.out.println(rand.nextDouble());
System.out.println("#########################");
// 随机生成int类型允许范围之内的整型数据
System.out.println(rand.nextInt());
System.out.println("#########################");
// 随机生成[0,1)之间的float类型数据
System.out.println(rand.nextFloat());
System.out.println("#########################");
// 随机生成false或true
System.out.println(rand.nextBoolean());
System.out.println("#########################");
// 随机生成[0,10)之间的int类型的数据
System.out.println(rand.nextInt(10));
System.out.println("#########################");
// 随机生成[20,30)之间的int类型的数据
System.out.println(rand.nextInt(10) + 20);
System.out.println("#########################");
// 随机生成[20,30)之间的int类型的数据(此种方法计算较为复杂)
System.out.println((int)(rand.nextDouble() * 10) + 20);
System.out.println("#########################");
}
/*
0.18579466820637747
#########################
1695590674
#########################
0.8908015
#########################
false
#########################
9
#########################
21
#########################
25
#########################
*/
Java_Math类和Random类的更多相关文章
- Java常用类之【Math类、Random类、System类、Runtime类】
一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...
- 01 语言基础+高级:1-3 常用API第一部分_day07【Scanner类、Random类、ArrayList类】
day07[Scanner类.Random类.ArrayList类] Scanner类Random类ArrayList类 教学目标 能够明确API的使用步骤能够使用Scanner类获得键盘录入数据能够 ...
- 处理数字的类 —— Math类 、 Random类 、 BigDecimal类 与 BigInteger类
在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 Bi ...
- JAVA笔记10__Math类、Random类、Arrays类/日期操作类/对象比较器/对象的克隆/二叉树
/** * Math类.Random类.Arrays类:具体查JAVA手册...... */ public class Main { public static void main(String[] ...
- Math类、Random类、System类、BigInteger类、BigDecimal类、Date类、SimpleDateFormat、Calendar类
Math类* A:Math类概述 * Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. * B:成员方法 * public static int abs(int a) ...
- System类和Random类
System类 成员方法: public static void gc():运行垃圾回收器 public static void exit(int status):退出垃圾回收器 public sta ...
- Math类和Random类(数学公式相关类)
Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 常用方法: 1.static 数值类型 abs(数值类型 a) 返回 double 值的绝对值. 2.sta ...
- 数字(数学)操作类 Math Random 类 ,大数字操作类
Math 提供了大量的数学操作方法 Math类中所有的方法都是static 方法
- Scanner类、Random类、ArrayList 类
1.1 什么是Scanner类一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(Syst ...
随机推荐
- 基础篇:深入解析JAVA泛型和Type类型体系
目录 1 JAVA的Type类型体系 2 泛型的概念 3 泛型类和泛型方法的示例 4 类型擦除 5 参数化类型ParameterizedType 6 泛型的继承 7 泛型变量TypeVariable ...
- 07 C语言常量
常量的定义 常量是指固定的值,固定值在程序执行期间不会改变.这些固定值,又叫做字面量. 常量可以是任意的基本数据类型,比如整数常量.浮点常量.字符常量,或字符串字面值,也有枚举常量. 不要搞得太复杂, ...
- matlab find函数使用语法
find 找到非零元素的索引和值 语法: 1. ind = find(X) 2. ind = find(X, k) 3. ind = find(X, k, 'first') 4. ind = find ...
- P3469 BLO-Blockade (缩点)
又可以水紫题了,好开心 前置芝士 无向图割点,然后脑子... 不会的童鞋,出门右转,百度百科...QAQ 首先,对于这道题,我们要求的是,割去每个点及他所连的边后,无向图中,有多少有序点对(\(x\) ...
- Linux init 详解(0,1,2,3,4,5,6)
一.什么是 init init是Linux系统操作中不可缺少的程序之一. 所谓的init进程,它是一个由内核启动的用户级进程. 内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数 ...
- devops-jenkins基于角色的权限管理RBAC
一. devops-jenkins基于角色的权限管理RBAC 1 安装角色的rbac角色管理 1.1) 点击系统管理 1.2) 选择插件管理 1.3) 选择可选插件,输入role搜索 1.4) 选择 ...
- 代码格式化工具:clang-format
IDE: Visual Studio Code Language: C/C++ 格式化工具: clang-format 安装 vscode安装扩展C/C++,扩展程序将自动安装clang-format ...
- C++字符串操作小结
忽略大小写比较大小 库函数strcasecmp和_stricmp: 这两个函数都不属于C++标准库,strcasecmp由POSIX引入,windows平台则定义了功能等价的_stricmp.用法和C ...
- 16.深入k8s:Informer使用及其源码分析
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 由于这部分的代码是在client-go 中,所以使用的源码版本是client-go 1. ...
- 解决/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory报错 (转)
解决/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory报错 念淅 2020-01-03 15:02:25 3793 收 ...