Programming/자바

생활코딩 자바 - 형변환

지고르 2022. 3. 4. 21:12

정수 200 , 실수 200.0 의 bit(0과 1로 이뤄진 값) 값이 다름 -> 형식 다른 데이터를 연산하려면 둘의 데이터 타입을 하나로 일치시켜야 함 => 형변환(데이터 타입 전환) 필요

 

자동(암시적) 형변환(자바가 자동으로 처리해주는 형변환)

좁은 데이터 타입 -> 넓은 데이터 타입으로의 변환

byte -> short, char -> int -> long -> float -> double

                         정수(조밀x)                 /         실수(조밀)

 

  •  

double a = 3.0F;

=> 데이터 타입 상이하지만 자바에서 오류 뜨지 않음

=> 자바가 3.0F를 암시적으로 double화했기 때문

=> double>float =>  double로 변경해도 정보 손실 X

 

  •  

float a = 3.0;

=> 오류

=> 3.0을 float로 변환하면 정보 손실 일어나기 때문에 자동 변환하지 않음

 

  •  

int h = 3;
float i = 1.0F;
double j = h + i;

=> h가 float으로 형변환 => h+i = 4.0F

=>4.0F가 double로 형변환 => 4.0

 

 

명시적 형변환

자동으로 형변환되지 않을 때, 수동으로 형변환

실수가 정수로 형변환됏을시 소숫점 이하 자리 손실

 

  •  

float k = (float) 100.0;
int l = (int) 100.0F;