在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数、对数、平方根和三角函数等。Math 类位于 java.lang 包,它的构造方法是 private 的,因此无法创建 Math 类的对象,并且 Math 类中的所有方法都是类方法,可以直接通过类名来调用它们。

下面详细介绍该类的常量及数学处理方法。

静态常量

Math 类中包含 E 和 PI 两个静态常量,正如它们名字所暗示的,它们的值分别等于 e(自然对数)和 π(圆周率)。

示例
调用 Math 类的 E 和 PI 两个常量,并将结果输出。代码如下:

System.out.println("E 常量的值:" + Math.E);
System.out.println("PI 常量的值:" + Math.PI);

执行上述代码,输出结果如下:

E 常量的值:2.718281828459045
PI 常量的值:3.141592653589793

求最大值、最小值和绝对值

在程序中常见的就是求最大值、最小值和绝对值问题,如果使用 Math 类提供的方法可以很容易实现。


求 10 和 20 的较大值、15.6 和 15 的较小值、-12 的绝对值,代码如下:

public class Test02 {public static void main(String[] args) {System.out.println("10 和 20 的较大值:" + Math.max(10, 20));System.out.println("15.6 和 15 的较小值:" + Math.min(15.6, 15));System.out.println("-12 的绝对值:" + Math.abs(-12));}
}

该程序的运行结果如下:

10和20的较大值:20
15.6和15的较小值:15.0
-12的绝对值:12

求整运算

Math 类的求整方法有很多。

Math 类中取整函数示例

import java.util.Scanner;
public class Test03 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.outprintln("请输入一个数字:");double num = input.nextDouble();System.out.println("大于或等于 "+ num +" 的最小整数:" + Math.ceil(num));System.out.println("小于或等于 "+ num +" 的最大整数:" + Math.floor(num));System.out.println("将 "+ num +" 加上 0.5 之后最接近的整数:" + Math.round(num));System.out.println("最接近 "+num+" 的整数:" + Math.rint(num));}
}

执行结果如下:

请输入一个数字:
99.01
大于或等于 99.01 的最小整数:100.0
小于或等于 99.01 的最大整数:99.0
将 99.01 加上 0.5 之后最接近的整数:100
最接近 99.01 的整数:99.0

三角函数运算

Math 类中包含的三角函数方法及其说明如下表所示。


在上表中,每个方法的参数和返回值都是 double 类型,参数以弧度代替角度来实现,其中 1 度等于 π/180 弧度,因此平角就是 π 弧度。

示例
计算 90 度的正弦值、0 度的余弦值、1 的反正切值、120 度的弧度值,代码如下:

public class Test04 {public static void main(String[] args) {System.out.println{"90 度的正弦值:" + Math.sin(Math.PI/2));System.out.println("0 度的余弦值:" + Math.cos(0));System.out.println("1 的反正切值:" + Math.atan(l));System.out.println("120 度的弧度值:" + Math.toRadians(120.0));}
}

在上述代码中,因为 Math.sin() 中的参数的单位是弧度,而 90 度表示的是角度,因此需要将 90 度转换为弧度,即 Math.PI/180*90,故转换后的弧度为 Math.PI/2,然后调用 Math 类中的 sin() 方法计算其正弦值。

该程序的运行结果如下:

90 度的正弦值:1.0
0 的余弦值:1.0
1 的反正切值:0.7853981633974483
120 度的弧度值:2.0943951023931953

指数运算

指数的运算包括求方根、取对数及其求 n 次方的运算。


使用 Math 类中的方法实现指数的运算,main() 方法中的代码如下:

public class Test05 {public static void main(String[] args) {System.out.println("2 的立方值:" + Math.pow(2, 3));System.out.println("16 的平方根:" + Math.sqrt(16));System.out.println("10 为底 2 的对数:" + Math.log1O(2));}
}

该程序的运行结果如下:

2 的立方值:8.0
16 的平方根:4.0
10 为底 2 的对数:0.3010299956639812

Java Math类的常用方法相关推荐

  1. java Math类的常用方法介绍

    java Math类的常用方法介绍 代码块 public class MainTest {public static void main(String[] args) {//求sin值double s ...

  2. java 求整_Java Math类的常用方法,求整运算

    你知道Java Math类的常用方法求整运算应该如何实现吗?下面的文章要给大家介绍到的就是这个方面的内容,一起来了解了解吧. Math 类的求整方法有很多,详细说明如下所示: 下面的实例演示了 Mat ...

  3. java中立方根方法_java基础:4、java中Math类的常用方法?

    4.java中Math类的常用方法? Java的Math类封装了很多与数学有关的属性和方法.如下所示: System.out.println("计算平方根--Math.sqrt(81)--  ...

  4. [Java基础]Math类的常用方法

    Math类的常用方法:

  5. java math 类_Java Math类静态长轮(double d)示例

    java math 类 数学课静态长回合(双D) (Math Class static long round(double d) ) This method is available in java. ...

  6. java math 类_Java Math类静态双层(double d)示例

    java math 类 数学班静态双层(双D) (Math Class static double floor(double d)) This method is available in java. ...

  7. C# Math类的常用方法

    C# Math类的常用方法 文章目录 C# Math类的常用方法 1.Math 类的字段 2.Math 类的常用方法 Max( x , y ) :返回两个数中比较大的一个数 Min( x , y ) ...

  8. 1、Math类的常用方法

    Java 中的 +.-.*./ 和 % 等基本算术运算符不能进行更复杂的数学运算,例如,三角函数.对数运算.指数运算等.于是 Java 提供了 Math 工具类来完成这些复杂的运算. 在 Java 中 ...

  9. java -Math类

    Math类 概念 Math 类是包含用于执行基本数学运算的方法的数学工具类,如初等指数.对数.平方根和三角函数. 类似这样的工具类[L1] ,其所有方法均为静态方法,并且一般不会创建对象.如Syste ...

最新文章

  1. [转]Python 字符串操作实现代码(截取/替换/查找/分割)
  2. SAP Fiori问题排查:Why expand does not work for complex note
  3. Python3的bytes/str之别
  4. 「Python」为什么Python里面,整除的结果会是小数?
  5. 游标声明 oracle,Oracle游标声明
  6. ios如何看idfv_ios获取手机状态 idfa   idfv   网络类型   分辨率   获取运营商
  7. 2017年 Java 程序员,风光背后的危机
  8. SFB 项目经验-35-分配公网证书 For Exchange Server 2016(图解)
  9. Microsoft visio 2010 Premium 的激活
  10. wireshark检测iphone-ios是否感染XcodeGhost病毒
  11. Matlab符号函数的生成及求符号函数的函数值
  12. Docker Macvlan
  13. 移动开发技术【安卓】——Android_Studio【Part 1】
  14. 删除后别人的微信号变成wxid_如何找回已删除的微信好友?卓师兄神助攻
  15. 南京信息工程大学改立元宇宙工程系,网友:我很好奇课程是啥
  16. matlab标量数据,可视化标量三维体数据的方法
  17. 计算机竞赛一等奖学校名单,信息竞赛获奖名单出炉!这些学校榜上有名
  18. 程序员加油站,不是人人都懂的学习要点
  19. scrapy爬虫框架教程(二)-- 爬取豆瓣电影
  20. GXOI/GZOI2019 逼死强迫症 题解

热门文章

  1. Win11怎么打开以前的word文档
  2. 傲游浏览器怎么看网页源代码 网页源代码查看方法简述
  3. PP视频播放视频时如何关闭弹屏
  4. acer笔记本电脑如何进入bios设置
  5. XSSFWorkbook与HSSFWorkbook的区别
  6. JDK1.8 新特性(全)
  7. 优酷html5视频网站,国内主要视频网站的嵌入方式
  8. mysql is needed by_libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.9-1.el6.x86_64
  9. sqldataadapter.fill 索引超出了数组界限_小学生学习C++||第十五节 数组
  10. hbase可视化工具_做数据可视化,三大热门BI工具试用总结