Java程序检查整数溢出

要检查Integer溢出,我们需要检查Integer.MAX_VALUE,它是Java中整数的最大值。

让我们看一个示例,其中添加了整数,并且如果总和大于Integer.MAX_VALUE,那么将引发异常。

示例

public class Demo {
   public static void main(String[] args) {
      int val1 = 9898989;
      int val2 = 6789054;
      System.out.println("Value1: "+val1);
      System.out.println("Value2: "+val2);
      long sum = (long)val1 + (long)val2;
      if (sum > Integer.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      //显示总和
      System.out.println("Sum: "+(int)sum);
   }
}

输出结果

Value1: 9898989
Value2: 6789054
Sum: 16688043

在上面的示例中,我们采用了以下两个整数-

int val1 = 9898989;
int val2 = 6789054;

现在,我们将投射并将其添加到long中。

long sum = (long)val1 + (long)val2;

如果结果大于最大值,则引发异常。

if (sum > Integer.MAX_VALUE) {
   throw new ArithmeticException("Overflow!");
}