Math.abs()方法

abs

public static int abs(int a)
返回  int 值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。

注意,如果参数等于 Integer.MIN_VALUE 的值(即能够表示的最小负 int 值),那么结果与该值相同且为负。

如下代码:

int a=Integer.MIN_VALUE;
System.out.println(a);//-2147483648
int num=Math.abs(a);
System.out.println(num);//-2147483648

因为最大值为2147483647,而绝对值为2147483648已经溢出,+1后变为最小值

参数:
a - 要确定绝对值的参数。
返回:
参数的绝对值。
另请参见:
Integer.MIN_VALUE

abs

public static long abs(long a)
返回  long 值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。

注意,如果参数等于 Long.MIN_VALUE 的值(即能够表示的最小负 long 值),则结果与该值相同且为负。

参数:
a - 要确定绝对值的参数。
返回:
参数的绝对值。
另请参见:
Long.MIN_VALUE

abs

public static float abs(float a)
返回  float 值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。特殊情况如下:
  • 如果参数为正 0 或负 0,那么结果为正 0。
  • 如果参数为无穷大,那么结果为正无穷大。
  • 如果参数为 NaN,那么结果为 NaN。
换句话说,结果等于以下表达式的值:

Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))

参数:
a - 要确定绝对值的参数。
返回:
参数的绝对值。

abs

public static double abs(double a)
返回  double 值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。特殊情况如下:
  • 如果参数为正 0 或负 0,那么结果为正 0。
  • 如果参数为无穷大,那么结果为正无穷大。
  • 如果参数为 NaN,那么结果为 NaN。
换句话说,结果等于以下表达式的值:

Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)

参数:
a - 要确定绝对值的参数。
返回:
参数的绝对值。

你可能感兴趣的:(java基础)