Helmi

자바의 정석 ch3(7-8) 형변환 연산자, 자동 형변환​​ 본문

JAVA/Java의 정석

자바의 정석 ch3(7-8) 형변환 연산자, 자동 형변환​​

Helmi 2023. 3. 27. 15:27

ch3- 7,8 형변환 연산자, 자동 형변환​​

형변환 : 변수 또는 상수의 타입을 다른 타입으로 변환하는 것.

 

(타입)피연산자

ex)

 double d = 45.6;

int score = (int)d;

-> int score = (int) 45.6;

-> int score = 45;

읽어온 값을 형변환 한 것. 변수 d의 값이 변한 것은 아님.

문자를 저장할 수 없는 컴 -> 아스키 코드를 이용하여 인식

(입력한 모든 데이터 문자-숫자 바꿔주며 인식. 숫자밖에 못읽기 때문에!)

출처: 유튜브 자바의 정석 ch3- 7,8 형변환 연산자, 자동 형변환​​ / 아스키 코드 형변환
아스키코드표

큰 값 -> 작은 값에 넣으면 값 손실 발생하므로 형변환 해주는 것. (직접 형변환)

그 외에는 자동으로 형변환 됨. (형변환 생략시, 작은 값을 큰 값에 넣을 시)

 

출처: 유튜브 자바의 정석 ch3- 7,8 형변환 연산자, 자동 형변환​​ / 자동형변환

기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환 된다.

 

byte b = 100; //OK. byte 타입 범위(-128 ~ 127)의 값 대입
byte b = (byte) 100; // OK. byte 타입을 자동 형변환하여 대입

int i = 100;
byte b = i; //에러, int 타입을 byte 타입에 대입
byte b = (byte) i; //OK. byte 타입으로 수동 형변환하여 대입

byte b = 1000; //에러. byte 타입 범위 벗어난 값 대입
byte b = (byte)1000; //OK. 그러나 손실 발생해 변수 b에는 -24 저장 됨