java.lang.Math

标签: Java类库 Math
9人阅读 评论(1) 收藏 举报
分类:

Math类简介

        public final class Math extends Object

        Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

        与 StrictMath 类的某些数学方法不同,并非 Math 类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。

        默认情况下,很多 Math 方法仅调用 StrictMath 中的等价方法来完成它们的实现。建议代码生成器使用特定于平台的本机库或者微处理器指令(可用时)来提供 Math 方法更高性能的实现。这种更高性能的实现仍然必须遵守 Math 的规范。

        实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点 Math 方法的准确性根据 ulp(units in the last place,最后一位的进退位)来衡量。对于给定的浮点格式,特定实数值的 ulp 是包括该数值的两个浮点值的差。当作为一个整体而不是针对具体参数讨论方法的准确性时,引入的 ulp 数用于任何参数最差情况下的误差。如果一个方法的误差总是小于 0.5 ulp,那么该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一个正确舍入的方法通常能得到最佳的浮点近似值;然而,对于许多浮点方法,进行正确舍入有些不切实际。相反,对于 Math 类,某些方法允许误差在 1 或 2 ulp 的范围内。非正式地,对于 1 ulp 的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回包括准确结果的两个浮点值中的一个。对于值很大的准确结果,括号的一端可以是无穷大。除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样,只要数学函数是非递增的,浮点近似值就是非递增的。并非所有准确性为 1 ulp 的近似值都能自动满足单调性要求。

 

字段摘要

        1、static double E:比任何其他值都更接近 e(即自然对数的底数)的 double 值。

        2、static double PI:比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。


常用方法摘要

        1、static double abs(double a):返回 double 值的绝对值。该方法参数还可以是:float、int、long类型。

        2、static double max(double a, double b):返回两个 double 值中较大的一个。该方法参数还可以是:float、int、long类型。

        3、static double min(double a, double b):返回两个 double 值中较小的一个。该方法参数还可以是:float、int、long类型。

        4、static double sqrt(double a):返回正确舍入的 double 值的正平方根。

        5、static double cbrt(double a):返回 double 值的立方根。

        6、static double pow(double a, double b):返回第一个参数的第二个参数次幂的值。

        7、static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

        8、static double log(double a):返回 double 值的自然对数(底数是 e)。

        9、static double log10(double a):返回 double 值的底数为 10 的对数。

        10、static double exp(double a):返回欧拉数 e 的 double 次幂的值。

 

        11、三角函数相关:

        static double toDegrees(double angrad):将用弧度表示的角转换为近似相等的用角度表示的角。

        static double toRadians(double angdeg):将用角度表示的角转换为近似相等的用弧度表示的角。

        static double sin(double a):返回角的三角正弦。

        static double cos(double a):返回角的三角余弦。

        static double tan(double a):返回角的三角正切。

        在正弦、余弦、正切函数前加a,如asin,则是对应的反三角函数,返回的角度范围在 0.0 到 pi 之间。

        static double cosh(double x):返回 double 值的双曲线余弦。

        static double sinh(double x):返回 double 值的双曲线正弦。

        static double tanh(double x):返回 double 值的双曲线正切。

 

        12static double rint(double a):返回最接近参数并等于某一整数的 double 值。

        13static double ceil(double a):返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。(向上取整)

        14static double floor(double a):返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。(向下取整)

        15static long round(double a):返回最接近参数的 long

        16static int round(float a):返回最接近参数的 int(四舍五入)

 

程序实例

public class MathTest {

	public static void main(String[] args) {
		System.out.println("round:四舍五入,返回整数");
		System.out.println(Math.round(11.46));  // 11
		System.out.println(Math.round(-11.46));  // -11
		System.out.println(Math.round(11.68));  // 12
		System.out.println(Math.round(-11.68));  // -12

		System.out.println("ceil:向上取整,返回浮点数");
		System.out.println(Math.ceil(11.46));  // 12.0
		System.out.println(Math.ceil(11.68));  // 12.0
		System.out.println(Math.ceil(-11.46));  // -11.0
		System.out.println(Math.ceil(-11.68));  // -11.0

		System.out.println("floor:向下取整,返回浮点数");
		System.out.println(Math.floor(11.46));  // 11.0
		System.out.println(Math.floor(11.68));  // 11.0
		System.out.println(Math.floor(-11.46));  // -12.0
		System.out.println(Math.floor(-11.68));  // -12.0
	}
}
查看评论

random调用类java.lang.math的成员方法

  • 2010年03月29日 23:19
  • 835B
  • 下载

java.lang.Math类中的方法

java.lang.Math类中包含E和PI两个静态常量,以及进行科学计算的类(static)方法,可以直接通过类名调用。   public static final Double E = 2....
  • qq_35155205
  • qq_35155205
  • 2016-09-27 20:28:04
  • 1405

Java中的java.lang.Math

package suiyi; public class MathClassTest { public static void main(String[] args) { // TODO 自动...
  • yguoelect
  • yguoelect
  • 2017-03-24 22:39:47
  • 911

java.lang.Math类下的几个函数

作者虽然是讲flash制作的,但与java中是一样的,所以摘了下来。   Random函数在flash里是非常有用的,可以生成基本的随机数,创建随机的移动,以及随机的颜色和其他更多的作用。...
  • kared
  • kared
  • 2012-09-16 08:11:44
  • 899

java基础--15.java.lang.Math类--概述及举例

Math类成员变量: public static final double PI public static final double EMath类成员方法: public st...
  • u014726937
  • u014726937
  • 2016-10-06 21:26:23
  • 338

使用java.lang.Math 生成随机数字

这里我想说生成随机数字,并且使用 java.lang.Math 这个类。内容很少,直接上代码吧。 RamdomUtil package org.xml.util; public class ...
  • lushuaiyin
  • lushuaiyin
  • 2013-02-28 22:17:57
  • 1489

Java:Math类中的常用方法

方法 含义 static int abs(int) 返回参数的绝对值,返回值类型与参数类型相同 ...
  • book_1992
  • book_1992
  • 2015-07-01 12:26:34
  • 334

随机数 java.util.Random与java.lang.Math.Random()-Java

一、java.util.Random Random类有两个构造方法:Random()(使用系统时间作为种子)和Random(long seed).构造方法只是创建了随机数生成器,必须调用生成器的方法...
  • Scryhuaihuai
  • Scryhuaihuai
  • 2015-06-05 13:24:40
  • 840

【Java每日一题01】使用java.lang.Math类,生成100个0到99之间的随机整数,找出它们之中的最大者和最小者,并统计大于50的整数个数

package test01; public class RandomNum { public static void main(String[] args) { ...
  • shaoboyy
  • shaoboyy
  • 2009-02-12 21:07:00
  • 2716

Java - 运算符 - 数学工具包java.lang.Math类

算数运算符 需要注意的问题,类型自动提升,其实类型提升是在运算之前完成的 加法运算 byte a = 1; byte b = 2; byte c = a+b; 报错,因为a+b之前会将a,b...
  • itlwc
  • itlwc
  • 2013-08-19 16:47:34
  • 3310
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 26万+
    积分: 3576
    排名: 1万+
    博客专栏
    最新评论