숫자 변환과 정밀도 예제가 실행되는 순서
연산 전 피연산자 타입 확인에서 시작해 축소 전 범위·정밀도 검사까지 값과 책임이 이동한다.
-
1
연산 전 피연산자 타입 확인
byte + byte의 결과가 byte가 아니라 int인 이유는 산술 연산이 최소 int 정밀도에서 이루어지기 때문입니다.
-
2
공통 계산 타입으로 승격
int를 long으로 옮기면 정확하지만 큰 long을 double로 바꾸면 정밀도를 잃을 수 있습니다.
-
3
축소 전 범위·정밀도 검사
(int) longValue는 상위 비트를 버릴 수 있습니다.
실행 순서 실수 대입 전에 이미 정수 나눗셈을 했다면 버린 소수 부분은 되돌아오지 않습니다.