English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Integer의 오버플로우를 확인하려면 뺄셈한 정수 결과를 Integer.MAX_VALUE와 확인해야 합니다. 여기서 Integer.MAX_VALUE는 Java의 정수 최대 값입니다.
정수를 뺄셈한 예제를 보여드리겠습니다. 그 결과가 Integer.MAX_VALUE보다 크면 예외가 발생합니다.
Integer의 오버플로우를 확인하는 방법을 보여주는 예제입니다.
public class Demo { public static void main(String[] args) { int val1 = 9898999; int val2 = 8784556; System.out.println("값1: "+val1); System.out.println("값2: "+val2); long sub = (long)val1 - (long)val2; if (sub > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); } //뺄셈 결과를 표시합니다 System.out.println("뺄셈 결과: "+(int)sub); } }
출력 결과
값1: 9898999 값2: 8784556 뺄셈 결과: 1114443
위의 예제에서는 다음 두 정수를 사용했습니다.-
int val1 = 9898999; int val2 = 8784556;
이제, 이를 뺄셈으로 변환합니다.
long sub = (long)val1 - (long)val2;
결과가 최대 값보다 크면 예외를 발생시킵니다.
If (sub > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); }