最近在复习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类相关方法整理相关推荐

  1. 带有静态方法的类(java中的math类)

    带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...

  2. 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 ...

  3. Java中的Math类和日期类详解

    Math类是定义了一系列的数学运算方法,是使用static修饰的方法,表示可以通过Math类直接访问.我们在开发中一般只需要关注两个: ·四舍五入: ·取得随机数 四舍五入 API文档中描述: rou ...

  4. JAVA中的Vector类用法整理

    新的一天,新的知识: 和C语言一样,java中的数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性申请出来. 而不能创建数组再追加数组元素数量.为了解决这个问题,Java中引入了向量类Vec ...

  5. java中math.ceil用法_[Java教程]关于Math类的round、floor、ceil三个方法

    [Java教程]关于Math类的round.floor.ceil三个方法 0 2014-05-06 16:00:08 一.Math类这三个方法的简介 1.round():取最接近的值. 对于这个方法, ...

  6. java 中常用的类

    java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l  static double abs(double  a) 获取double 的绝对值 l  sta ...

  7. Java中的BigDecimal类你真的了解吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:HikariCP www.jianshu.com/p/c81 ...

  8. 四十一、深入Java中的 File类

    @Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  9. 后端:Java中的BigDecimal类你了解多少?

    我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42) ...

最新文章

  1. python学生管理系统教学_Python项目:学生信息管理系统(完整版)
  2. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例
  3. 三星Galaxy S8得到Daydream支持
  4. admui 能再php上用吗,Javascript 方法
  5. java参数传入泛型类型_Java 5.0 泛型之 使用泛型统一传入的参数类型
  6. strstr的应用---Hd 2054 A == B ?
  7. Java命令行界面(第24部分):MarkUtils-CLI
  8. 数值分析(第五版) 第二章知识点总结
  9. java程序的开发工具是jdk,分享面经
  10. redisdemo php,一个简单的用redis做秒杀支撑的demo (PHP版)
  11. mac apache 日志_Mac OS X中的Apache日志文件并进行分析
  12. 异速联服务器配置 虚拟机,异速联服务器配置要求
  13. 支付宝积分兑换的扫地机器人好用_如何选购扫地机器人?
  14. TensorFlow batch
  15. 通过百度站长死链提交需要注意哪些事项?
  16. 【PWA】响应式开发
  17. [深度学习 - 发现有趣项目] masking-gan 人脸生成笑脸表情
  18. LUV色彩空间介绍及从RGB到LUV的转换
  19. asp编程有用的例子
  20. stick和stuck的区别_Stick to和Stick with的区别

热门文章

  1. 如何抠图去掉多余部分?这些方法get过吗
  2. 结合百度云平台和微信公众平台进行开发(一)
  3. android 手机内存分配,Android手机内存不足,你应该这样做,被震到
  4. 干货!换ip有哪些方法呢?
  5. 可怜的小羊 ZJYYC 数学 思路
  6. YGG 与 Mike Ovecka 对 Web3 电子竞技的愿景
  7. jfif格式怎么转换成jpg?
  8. 我理解的单反,单电和微单间的区别
  9. 淘宝淘气值快速提升的方法
  10. 《中国教育报》投稿邮箱编辑部征稿