Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 언더플로가 발생하는지 어떻게 확인할 수 있습니까?


최소 허용 값보다 작은 값이 변수에 할당된 경우 해당 변수에 대해 언더플로가 발생합니다. . JVM 에서 예외가 발생하지 않습니다. Java에서 언더플로가 발생하고 언더플로 조건을 처리하는 것이 프로그래머의 책임인 경우

예시

public class UnderlowTest {
   public static void main(String[] args) {
      int num1 = -2147483648;
      int num2 = -1;
      System.out.println("Number 1: " + num1);
      System.out.println("Number 2: " + num2);
      long sum = (long)num1 + (long)num2;
      if(sum < Integer.MIN_VALUE) {
         throw new ArithmeticException("Underflow occurred!");
      }
      System.out.println("The sum of two numbers : " + (int)sum);
   }
}

출력

Number 1: -2147483648
Number 2: -1
Exception in thread "main" java.lang.ArithmeticException: Underflow occurred!
        at UnderlowTest.main(UnderlowTest.java:9)