- 나눗셈 또는 나머지 연산에서 0으로 나눌 경우 예외 (ArithmeticException) 발생
- 무한대의 값을 정수로 표현할 수 없기 때문
- 하지만 좌측 피연산자가 실수이거나 우측 피연산자가 0.0 또는 0.0f이면 예외가 발생하지 않고 연산의 결과는 Infinity(무한대) 또는 NaN (Not a Number)이 됨
5 / 0.0 -> Infinity
5 % 0.0 -> NaN
- Infinity 또는 NaN 상태에서 계속 연산을 수행하면 안됨
- 어떤 연산을 하더라도 결과는 계속해서 Infinity 또는 NaN이 되므로 데이터가 엉망이 될 수 있음
- 그렇기 때문에 연산 결과가 Infinity 또는 NaN인지 먼저 확인하고 다음 연산을 수행하는 것이 좋음
//Infinity 또는 NaN일 경우 true를, 그렇지 않다면 false 반환
boolean result = Double.isInfinite(변수);
boolean result = Double.isNaN(변수);
'JAVA > 1. 자바 언어 기초' 카테고리의 다른 글
[JAVA] 조건문 : if문, switch문 (0) | 2023.11.16 |
---|---|
[JAVA] Math.random 메소드 (0) | 2023.11.16 |
[JAVA] 연산자 (0) | 2023.11.16 |
[JAVA] 오버플로우, 언더플로우 (0) | 2023.11.16 |
[JAVA] Scanner (0) | 2023.11.16 |