Java中的Math类相关方法整理
最近在复习java相关知识,今儿整理了一下Math类常用的方法——
Math类主要提供了一些执行数学基本运算的方法,如三角函数、指数函数、取整函数、最大值、最小值、绝对值、随机数等等,由于实际工作中,三角函数、指数函数运用较少,本次不做分享,其余常用函数代码实例如下:
import java.math.BigInteger; import java.util.Random;public class MathPractice {public static int GetEvenNum(double num1, double num2) {//在num1和num2之间随机取一个偶数的方法int s = (int) num1 + (int) (Math.random() * (num2 - num1));/** 这个不是很好理解,要先知道,利用Math.random()函数可以取得[0,1)之间的随机小数。* 那么 m+(Math.random()*n) 最小可以获取到的数是m,最大可以获取的数是无限小于m+n* 即 m+(Math.random()*n)的取值范围为:[m,m+n)* 那么要取两数值之间的随机整数,需要乘上一个系数再转成整形,即 m+(int)(Math.random()*(m-n))* */if (s % 2 == 0) {return s;} else {return s + 1;}}public static char GetRandomChar(char ch1, char ch2) {//使用Math类的random()方法也可以用来生成随机字符return (char) (ch1 + (char) (Math.random() * (ch2 - ch1 + 1)));}public static void main(String[] args) {System.out.println("================取整练习================");//向上取整System.out.println("使用ceil()方法取整:" + Math.ceil(3.5));//向下取整System.out.println("使用floor()方法取整:" + Math.floor(2.5));//返回与参数最接近的整数System.out.println("使用rint()方法取整:" + Math.rint(4.7));//返回与参数最接近的整数System.out.println("使用rint()方法取整:" + Math.rint(4.5));//将参数加上0.5后返回整数部分System.out.println("使用round()方法取整:" + Math.round(5.4f));//将参数加上0.5后返回整数部分,并将结果强制转换为长整型System.out.println("使用round()方法取整:" + Math.round(2.5));System.out.println("================取值练习================");//取两个参数最大值System.out.println("4和5较大的是:" + Math.max(4, 5));//取两个参数最小值System.out.println("6.6和6较大的是:" + Math.min(6.6, 6));//取绝对值System.out.println("-8的绝对值是:" + Math.abs(-8));System.out.println("================调用生成随机偶数的方法================");System.out.println("生成任意一个2~64之间偶数的结果为:" + GetEvenNum(2, 64));System.out.println("================调用生成随机字符的方法================");System.out.println("获取a~z之间的随机字符:" + GetRandomChar('a', 'z'));System.out.println("获取A~Z之间的随机字符:" + GetRandomChar('A', 'Z'));System.out.println("获取0~9之间的随机字符:" + GetRandomChar('0', '9'));System.out.println("================使用Random类创建一个随机数生成器================");Random r = new Random();System.out.println("随机取一个整数:" + r.nextInt());System.out.println("随机取一个大于等于0小于10的整数:" + r.nextInt(10));System.out.println("随机取一个boolean值:" + r.nextBoolean());System.out.println("随机取一个双精度数值:" + r.nextDouble());System.out.println("随机取一个浮点型数值:" + r.nextFloat());System.out.println("随机产生一个概率密度为高斯分布的双精度数值:" + r.nextGaussian());System.out.println("================使用Random类创建一个随机数生成器================");//BigInteger 支持任意精度的整数,注意:BigInteger()中的参数都是以字符串形式存在的BigInteger bi = new BigInteger("4");System.out.println("大数字加法:" + bi.add(new BigInteger("2")));System.out.println("大数字减法:" + bi.subtract(new BigInteger("1")));System.out.println("大数字乘法:" + bi.multiply(new BigInteger("4")));System.out.println("大数字除法:" + bi.divide(new BigInteger("3")));// 用divideAndRemainder()方法做除法,结果为数组,[0]为商,[1]为余数System.out.println("大数字取商:" + bi.divideAndRemainder(new BigInteger("3"))[0]);System.out.println("大数字取余:" + bi.divideAndRemainder(new BigInteger("3"))[1]);System.out.println("大数字次方:" + bi.pow(4));System.out.println("大数字取反:" + bi.negate());}}
此外,针对大数字的运算,还有BigDecimal类,表示任意精度的定点数,可以用来精确计算货币值 。由于BigDecimal 涉及内容较多,后面会单独写一篇blog用作介绍。
==================================================================
它来了,它来了,它架着梅利号闯来了!
BigDecimal类相关的内容请参考下面的这篇:
Java中BigDecimal类的常见用法及针对divide()方法的多种处理模式_花生君的博客-CSDN博客
Java中的Math类相关方法整理相关推荐
- 带有静态方法的类(java中的math类)
带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...
- java中cbrt_Java Math类静态double cbrt(double d)示例
java中cbrt 数学类静态double cbrt(double d) (Math Class static double cbrt(double d)) This method is availa ...
- Java中的Math类和日期类详解
Math类是定义了一系列的数学运算方法,是使用static修饰的方法,表示可以通过Math类直接访问.我们在开发中一般只需要关注两个: ·四舍五入: ·取得随机数 四舍五入 API文档中描述: rou ...
- JAVA中的Vector类用法整理
新的一天,新的知识: 和C语言一样,java中的数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性申请出来. 而不能创建数组再追加数组元素数量.为了解决这个问题,Java中引入了向量类Vec ...
- java中math.ceil用法_[Java教程]关于Math类的round、floor、ceil三个方法
[Java教程]关于Math类的round.floor.ceil三个方法 0 2014-05-06 16:00:08 一.Math类这三个方法的简介 1.round():取最接近的值. 对于这个方法, ...
- java 中常用的类
java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l static double abs(double a) 获取double 的绝对值 l sta ...
- Java中的BigDecimal类你真的了解吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:HikariCP www.jianshu.com/p/c81 ...
- 四十一、深入Java中的 File类
@Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- 后端:Java中的BigDecimal类你了解多少?
我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42) ...
最新文章
- python学生管理系统教学_Python项目:学生信息管理系统(完整版)
- python过去日期_利用python获取当前日期前后N天或N月日期的方法示例
- 三星Galaxy S8得到Daydream支持
- admui 能再php上用吗,Javascript 方法
- java参数传入泛型类型_Java 5.0 泛型之 使用泛型统一传入的参数类型
- strstr的应用---Hd 2054 A == B ?
- Java命令行界面(第24部分):MarkUtils-CLI
- 数值分析(第五版) 第二章知识点总结
- java程序的开发工具是jdk,分享面经
- redisdemo php,一个简单的用redis做秒杀支撑的demo (PHP版)
- mac apache 日志_Mac OS X中的Apache日志文件并进行分析
- 异速联服务器配置 虚拟机,异速联服务器配置要求
- 支付宝积分兑换的扫地机器人好用_如何选购扫地机器人?
- TensorFlow batch
- 通过百度站长死链提交需要注意哪些事项?
- 【PWA】响应式开发
- [深度学习 - 发现有趣项目] masking-gan 人脸生成笑脸表情
- LUV色彩空间介绍及从RGB到LUV的转换
- asp编程有用的例子
- stick和stuck的区别_Stick to和Stick with的区别