java中的Math类简介

Math继承于java.lang.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 的近似值都能自动满足单调性要求。

//字段摘要
static double	E
          比任何其他值都更接近 e(即自然对数的底数)的 double 值。
static double	PI
          比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
//方法摘要
static double	abs(double a)
          返回 double 值的绝对值。
static float	abs(float a)
          返回 float 值的绝对值。
static int	abs(int a)
          返回 int 值的绝对值。
static long	abs(long a)
          返回 long 值的绝对值。
static double	acos(double a)
          返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。
static double	asin(double a)
          返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
static double	atan(double a)
          返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
static double	atan2(double y, double x)
          将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角theta。
static double	cbrt(double a)
          返回 double 值的立方根。
static double	ceil(double a)
          返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
static double	copySign(double magnitude, double sign)
          返回带有第二个浮点参数符号的第一个浮点参数。
static float	copySign(float magnitude, float sign)
          返回带有第二个浮点参数符号的第一个浮点参数。
static double	cos(double a)
          返回角的三角余弦。
static double	cosh(double x)
          返回 double 值的双曲线余弦。
static double	exp(double a)
          返回欧拉数 e 的 double 次幂的值。
static double	expm1(double x)
          返回 ex -1static double	floor(double a)
          返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
static int	getExponent(double d)
          返回 double 表示形式中使用的无偏指数。
static int	getExponent(float f)
          返回 float 表示形式中使用的无偏指数。
static double	hypot(double x, double y)
          返回 sqrt(x2 +y2),没有中间溢出或下溢。
static double	IEEEremainder(double f1, double f2)
          按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double	log(double a)
          返回 double 值的自然对数(底数是 e)。
static double	log10(double a)
          返回 double 值的底数为 10 的对数。
static double	log1p(double x)
          返回参数与 1 之和的自然对数。
static double	max(double a, double b)
          返回两个 double 值中较大的一个。
static float	max(float a, float b)
          返回两个 float 值中较大的一个。
static int	max(int a, int b)
          返回两个 int 值中较大的一个。
static long	max(long a, long b)
          返回两个 long 值中较大的一个。
static double	min(double a, double b)
          返回两个 double 值中较小的一个。
static float	min(float a, float b)
          返回两个 float 值中较小的一个。
static int	min(int a, int b)
          返回两个 int 值中较小的一个。
static long	min(long a, long b)
          返回两个 long 值中较小的一个。
static double	nextAfter(double start, double direction)
          返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static float	nextAfter(float start, double direction)
          返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static double	nextUp(double d)
          返回 d 和正无穷大之间与 d 相邻的浮点值。
static float	nextUp(float f)
          返回 f 和正无穷大之间与 f 相邻的浮点值。
static double	pow(double a, double b)
          返回第一个参数的第二个参数次幂的值。
static double	random()
          返回带正号的 double 值,该值大于等于 0.0 且小于 1.0static double	rint(double a)
          返回最接近参数并等于某一整数的 double 值。
static long	round(double a)
          返回最接近参数的 longstatic int	round(float a)
          返回最接近参数的 intstatic double	scalb(double d, int scaleFactor)
          返回 d × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 double 值集合中的一个值。
static float	scalb(float f, int scaleFactor)
          返回 f × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 float 值集合中的一个值。
static double	signum(double d)
          返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0static float	signum(float f)
          返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0static double	sin(double a)
          返回角的三角正弦。
static double	sinh(double x)
          返回 double 值的双曲线正弦。
static double	sqrt(double a)
          返回正确舍入的 double 值的正平方根。
static double	tan(double a)
          返回角的三角正切。
static double	tanh(double x)
          返回 double 值的双曲线余弦。
static double	toDegrees(double angrad)
          将用弧度表示的角转换为近似相等的用角度表示的角。
static double	toRadians(double angdeg)
          将用角度表示的角转换为近似相等的用弧度表示的角。
static double	ulp(double d)
          返回参数的 ulp 大小。
static float	ulp(float f)
          返回参数的 ulp 大小

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值