Jun's Development Journey

[Java/문법] 강제 타입 변환 주의점 본문

JAVA/문법

[Java/문법] 강제 타입 변환 주의점

J_Jayce 2022. 1. 3. 14:03

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