在Java中,`Math.abs()` 方法的作用是返回一個數的絕對值。該方法可以接收不同類型的參數,包括整型(`int`)、長整型(`long`)、浮點型(`float`)和雙精度浮點型(`double`),并返回相同類型的絕對值結果。
語法
根據不同的參數類型,`Math.abs()` 的語法如下:
```java
public static int abs(int a)
public static long abs(long a)
public static float abs(float a)
public static double abs(double a)
```
示例
以下是一些使用 `Math.abs()` 方法的示例:
```java
public class Main {
public static void main(String[] args) {
int intVal = -10;
long longVal = -100L;
float floatVal = -1.23f;
double doubleVal = -123.456;
// 獲取絕對值
System.out.println("int絕對值: " + Math.abs(intVal));
System.out.println("long絕對值: " + Math.abs(longVal));
System.out.println("float絕對值: " + Math.abs(floatVal));
System.out.println("double絕對值: " + Math.abs(doubleVal));
}
}
```
輸出將會是:
```
int絕對值: 10
long絕對值: 100
float絕對值: 1.23
double絕對值: 123.456
```
注意事項
- 當輸入是正數或零時,`Math.abs()` 返回值與輸入值相同。
- 對于浮點數,如果輸入是`Float.NaN`、`Float.POSITIVE_INFINITY` 或 `Float.NEGATIVE_INFINITY`,則分別返回`NaN`、正無窮大和正無窮大。同樣的規則也適用于`Double`類型。
- 特別地,如果輸入是`Integer.MIN_VALUE` 或 `Long.MIN_VALUE`(即最小的負整數),則由于數值溢出,返回值仍然是負數(`Integer.MIN_VALUE` 或 `Long.MIN_VALUE`)。這是因為這兩個值的絕對值超出了其各自類型能表示的最大正數范圍。