Java常用类库-Math类

作者: 白晓明 | 来源:发表于2019-04-08 16:59 被阅读4次

Math包含一系列执行数值运算的方法,如初等指数、对数、平方根和三角函数等。与StricMath的一些数值方法不同,Math的等效函数的所有实现都没有定义返回相同结果的位。
实现规范的质量涉及两个方面:返回结果的准确性和方法的单调性。


1. 字段摘要(硬翻译:Field Summary)

/*
* Math类的静态属性,即不可修改的属性
* static double E:自然对数的底。
*            比其他任何值都接近e的双精度值
* static double PI:圆周率(圆的周长与直径之比)。
*            比其他任何值都接近PI的双精度值
*/
System.out.println(Math.E);
System.out.println(Math.PI);

2. 方法摘要

  • 获取正弦值( sin
/*
* 返回指定double类型参数的正弦值。特殊情况:
*      如果参数是NaN或无穷大,则结果为NaN。
*      如果参数时0,则结果为0,符号与参数相同。
*/
//使用toRadians()方法将角度转换为弧度
System.out.println(Math.sin(Math.toRadians(90)));//1.0
System.out.println(Math.sin(0));//0.0
  • 获取余弦值( cos
/*
* 返回指定double类型参数的余弦值。特殊情况:
*        如果参数时NaN或无穷大,则结果为NaN。
*/
System.out.println(Math.cos(Math.toRadians(45.0)));//0.707
  • 获取正切值( tan
/*
* 返回指定double类型参数的正切值。特殊情况:
*      如果参数是NaN或无穷大,则结果为NaN。
*      如果参数时0,则结果为0,符号与参数相同。
*/
System.out.println(Math.tan(Math.toRadians(45.0)));//1
  • 获取反正弦值( asin
/*
* 返回指定double类型参数的反正弦值。返回角度在-pi/2到pi/2范围内。特殊情况:
*       如果参数为NaN或其绝对值大于1,则结果为NaN。
*       如果参数为0,则结果为0,符号与参数相同。
*/
//使用toDegrees将参数转成角度
System.out.println(Math.toDegrees(Math.asin(0.7071)));//45°
  • 获取反余弦值( acos
/*
* 返回指定double类型参数的反余弦值。返回值在0到pi范围。特殊情况:
*       如果参数为NaN或其绝对值大于1,则结果为NaN。
*/
System.out.println(Math.toDegrees(Math.acos(0)));//90°
  • 获取反正切值( atan
/*
* 返回指定double类型参数的反正切值。返回角度在-pi/2到pi/2范围内。特殊情况:
*       如果参数为NaN,则结果为NaN。
*       如果参数为0,则结果为0,符号与参数相同。
*/
System.out.println(Math.toDegrees(Math.atan(1)));//45°
  • 将角度转化为弧度
/*
*  将以度为单位的角度转换为以弧度为单位的近似等效角度。从度到弧度的转换通常是不精确的。
*/
System.out.println(Math.toRadians(45.0));//0.785
  • 将参数转化为度数
/*
*  将以弧度为单位的角度转换为以度为单位的近似等效角度。从弧度到度数的转换通常是不精确的。
*/
System.out.println(Math.toDegrees(0.785));//45°
  • 返回自然数底数e的参数次方
/*
*  返回自然数底数e的参数次方。特殊情况:
*        如果参数值是NaN,则返回NaN。
*        如果参数值是正无穷大,则返回正无穷大。
*        如果参数值是负无穷大,则返回0。
*/
System.out.println(Math.exp(4.0));//54.60
  • 返回自然数底数的对数值
/*
*  返回参数的自然数底数的对数值。特殊情况:
*        如果参数为NaN或小于0,则结果为NaN。
*        如果参数为正无穷大,则结果为正无穷大。
*        如果参数为0,则结果为负无穷大。
*/
System.out.println(Math.log(54.60));//4.0
  • 返回以10为底数的对数值
/*
*  返回以10为底数的对数值。特殊情况:
*        如果参数为NaN或小于0,则返回NaN。
*        如果参数为正无穷大,则结果为正无穷大。
*        如果参数为0,则结果为负无穷大。
*        如果整数n的参数等于10n,则结果为n。
*/
System.out.println(Math.log10(100));//2.0
  • 算术平方根
/*
*  求参数的算术平方根。特殊情况:
*        如果参数为NaN或小于0,则结果为NaN。
*        如果参数为正无穷大,则结果为正无穷大。
*        如果参数为0,则结果与参数相同。
*/
System.out.println(Math.sqrt(-4));//NaN
System.out.println(Math.sqrt(16));//4.0
System.out.println(Math.sqrt(0));//0.0
  • 返回参数的绝对值
/*
*  返回参数的绝对值。
*/
System.out.println(Math.abs(-2.5));//2.5
  • 返回最小整数
/*
*  返回大于或等于参数的最小整数。特殊情况:
*      如果参数值已经等于数学整数,则结果与参数相同。
*      如果参数时NaN或无穷大或0,则结果与参数相同。
*      如果参数值小于0但大于-1.0,则结果为0.  
*/
System.out.println(Math.ceil(1.0));//1.0
System.out.println(Math.ceil(-0.5));//-0.0
  • 返回最接近的整数
/*
*  返回小于等于给定参数的最大整数。特殊情况:
*        如果参数值已经等于数学整数,则结果与参数相同。
*        如果参数时NaN或无穷大或0,则结果与参数相同。
*/
System.out.println(Math.floor(2.8));//2.0
System.out.println(Math.floor(-0.5));//-1.0
  • 返回与参数最接近的整数
/*
* 返回与参数最接近的整数
*/
System.out.println(Math.rint(1.6));//2.0
  • 幂次方
/*
*  返回第一个参数的幂次方。
/
System.out.println(Math.pow(2, 2));//4.0
  • 四舍五入
/*
*  四舍五入。
*/
System.out.println(Math.round(0.6));//1.0
  • 随机数
/*
*  返回随机数
*/
System.out.println(Math.random());//0.264
  • 最小值
/*
*  返回两个参数中的最小值。
*/
System.out.println(Math.min(2.6, 4.5));//2.6
  • 最大值
/*
*  返回两个参数中的最大值。
*/
System.out.println(Math.max(2.6, 4.5));//4.5

其他需要请查看官方API

相关文章

  • Java常用类库-Math类

    Math类包含一系列执行数值运算的方法,如初等指数、对数、平方根和三角函数等。与StricMath类的一些数值方法...

  • 《Oracle Java SE编程指南》19-02:基本数学运算

    内容导航: 前言 1、java.lang.Math 2、Math类静态属性 3、Math类常用静态方法 1、jav...

  • 使用BigDecimal进行精确运算

    了解BigDecimal类 点击进入 Java.math.BigDecimal类 运行结果如下。 对于常用的加,减...

  • Java自学-数字与字符串 数学方法

    Java Math类常用方法 java.lang.Math提供了一些常用的数学运算方法,并且都是以静态方法的形式存...

  • java类库怎么使用

    java类库怎么使用 以使用Math类库编写求算术平方根程序为例: 首先打开Java官方在线API文档 在Java...

  • Java、Android中Math的一些用法

    Java.math.Math类常用的常量和方法: Math.PI 记录的圆周率Math.E记录e的常量Math.a...

  • Java基础类库

    包 1、java.lang包:java类库中的核心部分,包含System系统类、数学运算的Math类、处理字符串的...

  • 大数字运算

    在Java中提供了大数字的操作类,即java.math.BigInteger类与java.math.BigDeci...

  • 数字操作类

      程序就是一个数学的处理过程,在Java中提供了相应的数字处理的类库支持 Math类   Math类的主要功能是...

  • JAVA反射机制exp

    通过一个类获取任意的类。如已知java.lang.Math 这个类,然后调用java.lang.Math.clas...

网友评论

    本文标题:Java常用类库-Math类

    本文链接:https://www.haomeiwen.com/subject/mwcuiqtx.html