Jun's Development Journey
[Java/문법] 강제 타입 변환 주의점 본문
1. 값 손실
- 사용자로부터 입력받은 값을 변환할 때 값의 손실이 발생하면 안된다.
- 강제 타입 변환 전에 우선 안전하게 값이 보존될 수 있는지 검사하는 것이 좋다.
ex) int -> byte
2. 정밀도 손실
- 정수타입을 실수 타입으로 변환할 때 정밀도 손실은 피해야 한다.
ex) int -> float 자동 변환 후 연산 (result : 0이 아닌 -4)
- float = 부호(1비트) + 지수(8비트) + 가수(23비트)
- 123456780은 23비트로 표현할 수 없기 때문에 근사치로 변환된다. 즉 정밀도가 상실된다.
- 이러한 문제를 해결하기 위해 double 형을 사용하여 변환해야 한다.
3. 연산식에서의 자동 타입 변환
- 두 피연산자 중 크기가 큰 타입으로 자동 변환된 후 연산을 수행한다.
'JAVA > 문법' 카테고리의 다른 글
[Java/문법] 스레드-1 (0) | 2022.01.04 |
---|---|
[Java/문법] 입출력(I/O) (0) | 2022.01.04 |
[Java/문법] 클래스 (0) | 2022.01.03 |
[Java/문법] Main 메소드 (0) | 2022.01.03 |
[Java/문법] 연산자 (0) | 2022.01.03 |