[나랑 자바공부 하자11]자료형의 변환

오늘 공부한 내용입니다~

매일 이렇게 자바공부를 하고 여기다가 복습을 하니 학습률이 2배는 올라 가는 듯 한데요!

여러분도 이렇게 해보세요~ ㅎㅎ

 

자료형의 변환이 의미하는 것은?!

자료형의 변환은 표현방법의 변환

int main(Strin[] args)

{

short num1=10;

short num2=20;

short result = num1 + num2;

...........

}

이것은

num1(10) ->  00000000  00001010

num2(20) -> 00000000 00010100

short to int

이렇게  2바이트 short 에서 int로 변환 하게 됩니다.

 

cpu는 int로 변환해서 계산 한다고했죠?! 미리 int를 쓴다면 형변환 없이 바로 계산할 거에요!

 

int형 정수 10 - > 00000000 00000000 00000000 00001010

int형 정수 20 - > 00000000 00000000 00000000 00010100

 

int형 정수 1 00000000 00000000 00000000 00000001

float형 실수 1.0으로 변환하면

float형 실수 1.0 - >  0011111111 10000000 00000000 00000000

이렇게 되는거죠~

 

솔직히 직접 하려면 머리 뿌개질것 같아요. 컴퓨터가 알아서 해주길 바래요! 자바! ㅎㅎ

자료형을 일치시켜야 하는 이유.

위의 자료를 보면 좀더 쉽게 이해할 수 있습니다.

int로 쓴다면 간단하게 계산할 수 있겠지만

 

float를 쓴다면 형변환을 거쳐서 계산을 하게 됩니다!

자동 형 변환 규칙!

이건 한번 외우는 게 좋을 것 같아요!

byte > short >  int > long > float > double

         char >

명시적 형 변환!

명시적 형 변환을 하는 이유는

자동 형 변환 발생지점을 표시를 위해서 또는

자동 형 변환의 규칙에 위배되지만 변환이 필요한 상황이 있다고 하네요.

 

예를들면

long num1 =2147483648L;

int num2 = (int)num1;

자동 형변환 발생지점을 표시하는 겁니다.

 

int num3= 100;

long num4 = (long)num3;

자동 형 변환 규칙에 위반되죠 위에 표 보이시죠?!

이럴땐 이렇게 앞에 (long)이나 뒤에L을 붙여서 형변환을 해줍니다!

 

오늘 공부한 자바공부 입니다.!

갈수록 조금씩 머리가 아파지고 있어요

더열심히! 화티잉