📅  最后修改于: 2023-12-03 15:16:35.729000             🧑  作者: Mango
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
在上面的示例中,我们发现将 x
和 y
相加会导致整数溢出,因此 Math.addExact(x, y)
尝试抛出一个 ArithmeticException
异常。
我们还可以将 addExact()
用于更大的数据类型,例如 long
。 addExact()
还有一个重载的版本,可以接受 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()
函数时,需要注意整数范围并检查抛出的异常。