English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 프로그램이 정수 오버플로우를 확인합니다

Integer 과부하를 확인하려면, Java에서 정수의 최대 값인 Integer.MAX_VALUE를 확인해야 합니다.

정수를 더하고, 총 합이 Integer.MAX_VALUE보다 크면 예외를 발생시키는 예제를 보겠습니다.

예제

public class Demo {
   public static void main(String[] args) {
      int val1 = 9898989;
      int val2 = 6789054;
      System.out.println("가치1: "+val1);
      System.out.println("가치2: "+val2);
      long sum = (long)val1 + (long)val2;
      if (sum > Integer.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      //총 합을 표시합니다
      System.out.println("합: "+(int)sum);
   }
}

출력 결과

가치1: 9898989
가치2: 6789054
합: 16688043

위의 예제에서는 다음 두 정수를 사용했습니다.-

int val1 = 9898989;
int val2 = 6789054;

지금, 우리는 그를 long에投射하고 추가하겠습니다.

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

결과가 최대 값보다 크면 예외를 발생시킵니다.

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