Java 08 자동 형변환
자바/3. 연산자2021. 3. 28. 13:16
자동형변환
형변환을 생략하면 컴파일러가 알아서 자동적으로 형변환을 한다.
"기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다."
작은타입에서 큰타입으로 가는 것은 형변환 생략가능하다.
byte → int
byte b = 10 ;
int i = b ; // 형변환 생략가능
float f = 1234 ; // float f = (float) 1234 ; 에서 (float)가 자동생략되었다.
int 범위는 -20억~+20억이고, float의 범위는 -10의 38승~+10의38승이여서 범위에 포함된다.
큰타입에서 작은타입으로 가는 것은 수동으로 형변환 적어줘야한다.
int → byte
int i2 = 300 ;
byte b2 = (byte) i2 ; // 생략불가하다.
int i = 3.14f ; // float 범위가 int 범위보다 크므로, 에러가 발생한다. 숫자가 짤리는 값손실이 발생한다.
int i = (int) 3.14f ; // 형변환을 해줘야 한다.
'자바 > 3. 연산자' 카테고리의 다른 글
Java 10 산술 변환 (0) | 2021.03.28 |
---|---|
Java 09 사칙 연산자 + - * / (0) | 2021.03.28 |
Java 07 형변환 연산자 (0) | 2021.03.27 |
Java 06 부호 연산자 (0) | 2021.03.27 |
Java 05 증감 연산자 ++ 과 -- (0) | 2021.03.27 |
댓글()