시스템아 미안해

형 변환(casting) 놓쳤던 부분 정리 본문

java/문법

형 변환(casting) 놓쳤던 부분 정리

if else 2022. 6. 5. 18:43

- primitive 자료형은(boolean형 제외) 서로 형 변환 가능.

- 기본형~~참조형 간의 형변환 불가!!

 

pimitive 자료형 변환 
정수형간의 형변환 '정수형'으로 큰 타입 > 작은 타입 변환시 값 손실 발생 가능성 있음. (저장공간 때문)
실수형간의 형변환 - float의 범위를 넘는 값을 float로 형변환 하는 경우 >> 무한대 or +-0의 값을 결과로 얻는다.

- 같은 값이라도 float와 double로 저장하면 둘의 정밀도가 다르기 때문에 서로 다른 값으로 바뀜!!
둘의 공통점  작은 타입 > 큰 타입의 변환은 빈 공간을 0으로 채움.
정수형 >> 실수형 int는 10자리의 정밀도 요구, float는 약 7자리의 정밀도를 요구하므로 ★되도록 double형(15자리의 정밀도)으로 변환해야 오차가 발생하지 않음. 
실수형 >> 정수형 소수점 이하의 값 손실 & 남은 정수가 정수형의 저장 범위를 넘어서면 overflow발생! 

 

자동형변환(작은 것 > 큰 것 생략 가능)
byte > short > int > long > float > double의 역 순서로 변환시 자료형 반드시 표현해주기. 

 

'java > 문법' 카테고리의 다른 글

HashMap - putIfAbsent vs getOrDefault  (0) 2022.08.16
반복문 제어하기 (continue/break/return)  (0) 2022.06.05
ArrayList & LinkedList  (0) 2022.05.30
배열array와 ArrayList의 차이  (0) 2022.04.16
Collection - (Arraylist / Set ) & 제네릭  (0) 2022.04.06