728x90
오버플로우(overflow)
타입이 허용하는 최대값을 벗어나는 것을 말한다.
언더플로우(underflow)
타입이 허용하는 최소값을 벗어나는 것을 말한다.
정수 타입 연산에서 발생하면 에러가 발생할 것 같지만, 에러 발생은 하지 않고 해당 정수 타입의 최소값 또는 최대값으로 되돌아간다.
예제
package ch03.sec03;
public class OverflowUnderflowExample {
public static void main(String[] args) {
byte var1 = 125;
for (int i = 0; i < 5; i++) {
var1++;
System.out.println("var1 : " + var1);
}
System.out.println("--------------------");
byte var2 = -125;
for (int i = 0; i < 5; i++) {
var2--;
System.out.println("var2 : " + var2);
}
}
}
출력 결과
항상 해당 타입의 범위 내에서 연산이 수행되도록 신경 써서 코딩해야한다.
728x90
'IT > Java' 카테고리의 다른 글
[Java] 비교 연산자 (0) | 2024.02.21 |
---|---|
[Java] 나눗셈 연산 후 NaN과 Infinity (0) | 2024.02.21 |
[Java] 산술 연산자 (0) | 2024.02.20 |
[Java] 부호 연산자 / 증감 연산자 (0) | 2024.02.20 |
[Java] println() / print() / printf() (0) | 2024.02.20 |