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
- 要确定绝对值的参数。
返回:
- 参数的绝对值。
-