너와 나의 개발 고리

[JAVA] chap03 연산자_오버플로우와 언더플로우 본문

JAVA/이것이 자바다

[JAVA] chap03 연산자_오버플로우와 언더플로우

Oli-Viaaaa 2023. 8. 9. 16:43

오버플로우란 타입이 허용하는 최대값을 벗어나는 것을 말한다.

byte value = 127;
value++;                   // value값에 1을 더함 
System.out.println(value); // 128 -> 오버플로우 발생

 

언더플로우는 타입이 허용하는 최솟값을 벗어나는 것을 말한다.

byte value = -128;
value--;                   // value값에 1을 뺌 
System.out.println(value); //-129 -> 언더플로우 발생

 

오버플로우 또는 언더플로우가 발생되면 실행 에러가 발생할 것 같지만,  사실 해당 정수 타입의 최소값 또는 최대값으로 돌아간다.