📅  最后修改于: 2023-12-03 15:27:36.396000             🧑  作者: Mango
在程序开发中,我们经常需要对一个数求其绝对值,即其与 0 的距离。Java 中提供了多种求绝对值的方法,本文将对其进行详细介绍。
Math 类是 Java 中处理数学相关的类,其中提供了多个求绝对值的方法。
Math.abs
方法可以求传入参数的绝对值,对于 double 和 float 类型的数据也同样适用。示例代码如下:
double num1 = -10.5;
float num2 = -5.7f;
System.out.println(Math.abs(num1)); // 输出 10.5
System.out.println(Math.abs(num2)); // 输出 5.7
需要注意的是,Math.abs
方法返回的是参数类型的绝对值,如果传入的值为负数,则返回正数,否则返回原值。
Math.abs
方法也适用于整型数据,示例代码如下:
int num1 = -10;
long num2 = -5L;
System.out.println(Math.abs(num1)); // 输出 10
System.out.println(Math.abs(num2)); // 输出 5
同样,如果传入的值为负数,则返回正数,否则返回原值。
对于超过基本数据类型范围的数字,我们可以使用 BigInteger 和 BigDecimal 类型。这两个类也提供了自己独有的绝对值方法。
BigInteger.abs
和 BigDecimal.abs
方法均可以求该对象的绝对值,示例代码如下:
BigInteger num1 = new BigInteger("-1234567890987654321");
BigDecimal num2 = new BigDecimal("-1234567.890123456789");
System.out.println(num1.abs()); // 输出 1234567890987654321
System.out.println(num2.abs()); // 输出 1234567.890123456789
需要注意的是,这两个方法都是返回新的对象,不会改变原有的对象。
Java 提供了多种求绝对值的方法,对于不同数据类型和需求,我们可以灵活使用。Math.abs 在实际开发中使用最为广泛,而 BigInteger 和 BigDecimal 类的 abs 方法则适用于超过基本数据类型范围的数字。
以上就是 Java 中绝对值的介绍。