JAVA 프로그래밍

문제

변수에 값을 저장할 때 발생하는 overflow와 underflow를 실습하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 
max     =  2147483647
max + 1 = -2147483648 ( overflow발생 ) 
min     = -2147483648
min - 1 =  2147483647 ( underflow발생 ) 

알고리즘

프로그램 시작 
   int의 최대값과 최소값으로 변수 초기화
   int의 최대값에 1을 더하거나 최소값에서 1을 빼면 오류 발생
   overflow 및 underflow 결과 출력
프로그램 종료

프로그램 코드

	// 파일명 : ./Chapter03/OverflowUnderflow.java
		 
	public class OverflowUnderflow
	{
		// 프로그램 시작 
1		public static void main( String[] args ) {
			// int의 최대값과 최소값으로 변수 초기화 
2			final int max = +2147483647;
3			final int min = -2147483648;
	 
			// int의 최대값에 1을 더하거나 최소값에서 1을 빼면 오류 발생 
4			int overflow = max + 1;
5			int underflow = min - 1;
	 
			// overflow 및 underflow 결과 출력 
6			System.out.println( "max     = " + max );
7			System.out.println( "max + 1 = " + overflow + " ( overflow 발생 )" );
	 
8			System.out.println( "min     = " + min );
9			System.out.println( "min - 1 = " + underflow + " ( underflow 발생 )" );
		 
		// 프로그램 종료 
10		}
	}

실행 순서

 
 					※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다