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

댓글()
구독