📜  绝对值java(1)

📅  最后修改于: 2023-12-03 15:27:36.396000             🧑  作者: Mango

绝对值Java

在程序开发中,我们经常需要对一个数求其绝对值,即其与 0 的距离。Java 中提供了多种求绝对值的方法,本文将对其进行详细介绍。

Math类中的绝对值方法

Math 类是 Java 中处理数学相关的类,其中提供了多个求绝对值的方法。

Math.abs(double a) 和 Math.abs(float a)

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 a) 和 Math.abs(long a)

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 和 BigDecimal 类型。这两个类也提供了自己独有的绝对值方法。

BigInteger.abs() 和 BigDecimal.abs()

BigInteger.absBigDecimal.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 中绝对值的介绍。