📜  Java数学addExact()(1)

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

Java数学addExact()

Java数学库中有一个非常有用的函数 addExact() 可以用于将两个整数相加,如果结果超出了整数范围,它将抛出一个 ArithmeticException 异常。这个函数比直接使用加法运算符 + 更安全。

语法
public static int addExact(int x, int y) throws ArithmeticException

参数:

  • x :第一个整数
  • y :第二个整数

返回值: 返回两个整数之和,如果结果超过了整数范围,抛出 ArithmeticException 异常。

示例
public static void main(String[] args) {
    int x = 2147483640;
    int y = 7;
    try {
        int z = Math.addExact(x, y);
        System.out.println(z);
    } catch (ArithmeticException e) {
        System.out.println("Error: " + e.getMessage());
    }
}

输出:

Error: integer overflow

在上面的示例中,我们发现将 xy 相加会导致整数溢出,因此 Math.addExact(x, y) 尝试抛出一个 ArithmeticException 异常。

我们还可以将 addExact() 用于更大的数据类型,例如 longaddExact() 还有一个重载的版本,可以接受 long 类型的参数。例如:

public static void main(String[] args) {
    long x = 9223372036854775800L;
    long y = 7L;
    try {
        long z = Math.addExact(x, y);
        System.out.println(z);
    } catch (ArithmeticException e) {
        System.out.println("Error: " + e.getMessage());
    }
}

输出:

Error: long overflow

在使用 addExact() 函数时,需要注意整数范围并检查抛出的异常。