[Java] 형변환

MSU·2023년 12월 8일

JAVA

목록 보기
19/28

변수 형변환을 할 때, 표현 범위가 작은 타입에서 큰 타입으로의 변환은 형변환 표기를 안해도 자바에서 자동으로 형변환 처리를 해주기 때문에 문제가 없다.

int value = 10;
long longValue = value;
double doubleValue = longValue;

대입하는 과정에서 형변환을 하여 타입을 맞춰줘야하기 때문에 실제로는 아래와 같이 동작한다.(자동 형변환, 묵시적 형변환)

int value = 10;
long longValue = (long) value;
double doubleValue = (double) longValue;

표현 범위가 큰 타입에서 작은 타입으로의 변환은 문제가 발생하게 됨.
-> 소수점 버림, 오버플로우

자바에서 숫자를 표현할 수 있는 범위는 아래와 같음
int < long < double

표현 범위가 큰 타입에서 작은 타입으로의 변환은 형변환을 꼭 표기 해줘야 함(명시적 형변환, casting)

double doubleValue = 10.0;
long longValue = (long) doubleValue;
int value = (int) longValue;

double에서 int로 형변환을 할 때에는 값을 정수로만 표현해야 하기 때문에 소수점이하의 값을 버려야 한다.

profile
안드로이드공부

0개의 댓글