Jeunwork space

Java 형변환 연산자 by 자바의 정석 본문

Java

Java 형변환 연산자 by 자바의 정석

jeunwork 2021. 5. 3. 20:48

- 형변환 연산자

int → char    (char)65 'A'

char → int    (int)'A' →65

float → int    (int)1.6f →1

int → float    (float)10 →10.0f

 

- 자동 형변환 : 컴파일러가 알아서 자동적으로 형변환. 단, 작은 값을 큰 쪽에 넣을때만 가능 

1. byte → int 

byte b = 10;

int i = b; // (int) 자동 형변환으로 생략가능

 

2. int → byte

int i2 = 200;

byte b2 = (byte)i2 // int 보다 작은 byte로 형변환 해줄 때는 생략불가 반드시 써줘야 한다.

 

※ 예외 

byte b = 100; // OK

byte b = 100; // 값이 리터럴로, 크기가 100으로 byte 크기(-128~127) 안에 들어가므로 (byte) 생략해도 오류없이 자동 형변환 된다.

 

int i = 100;

byte b = i;  // Error

byte b = (byte) i;  // 변수 i 에 있는 값이 명확하지 않아서 (byte)없이는 에러 발생

 

byte b = 1000; // Error 

byte b = (byte) 1000;  // byte 타입의 범위를 벗어난 값을 대입해 오류. (byte)써주면 작동하나 값 손실 발생. 

 

 

Comments