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;