본문 바로가기

프로그래밍/Java (기초)

형변환(자동, 명시적 형변환)

반응형

형변환


자동 형변환

자바는 같은 데이터 타입끼리 연산이 가능한데..

이때 작은범위의 데이터 타입과 큰 데이터 타입끼리 연산을 할 경우

작은 데이터 타입이 큰 데이터 타입으로 자동 변환이 된다.

이를 자동 형변환이라 한다.





자동 형변환의 규칙




int a = 3; // 정수 a는 정수 데이터 3을 할당한다 

float b = 1.0F; // 실수 b에 float 1.0을 할당한다.

double c = a + b;

// a와 b를 더하면 int a가 자동 형변환으로 float이 되어

b와 더해지고, 그 값은 c가 되며 c값은 double 데이터 타입을 갖는다

최종적으로 이 값은 double c에 할당된다.


(작은 데이터 범위인 int가 float으로 자동 형변환 되었고 연산후

float은 double c에 할당되며 최종적으로 double이 된다)




명시적 형변환


자동 형 변환이 적용되지 않는 경우, 수동으로 형변환을 할때

명시적 형변환이라 부른다.

(주로 큰 데이터 타입의 데이터를 작은 데이터 타입으로 할당할때 사용한다[자동 형변환이 이루어지지 않기때문])


float a = 100.0; // float a에 double 100.0이 할당될수없다

int b = 100.0F; // int b에 100.0F(float)이 할당 될수없다.



디버그


float a = (float)100.0; // double 100을 float으로 명시한다

int b = (int)100.0F; // double 100.F를 int로 명시한다.



반응형