java如何求绝对值
求绝对值的方法
在Java中,可以通过以下几种方式求一个数的绝对值:
使用Math.abs()方法
Math.abs()是Java标准库中最常用的求绝对值方法,支持多种数据类型:

int类型:Math.abs(int a)long类型:Math.abs(long a)float类型:Math.abs(float a)double类型:Math.abs(double a)
示例代码:

int num = -5;
int absoluteValue = Math.abs(num);
System.out.println(absoluteValue); // 输出:5
使用三元运算符
对于简单的场景,可以使用三元运算符手动实现绝对值逻辑:
int num = -5;
int absoluteValue = num < 0 ? -num : num;
System.out.println(absoluteValue); // 输出:5
使用位运算(仅限整数)
对于int和long类型,可以通过位运算快速求绝对值(注意此方法不适用于Integer.MIN_VALUE):
int num = -5;
int mask = num >> 31; // 对于32位int,右移31位得到符号位
int absoluteValue = (num + mask) ^ mask;
System.out.println(absoluteValue); // 输出:5
注意事项
- 对于
Integer.MIN_VALUE或Long.MIN_VALUE,Math.abs()会返回原值(仍是负数),因为它们的绝对值超出了数据类型的表示范围。 - 浮点数有正零和负零之分,但它们的绝对值都为零。




