강의로 돌아가기
-

기본형타입 long에대해 질문있습니다.

float f = 32.4f;에서 32.4뒤에 f를 붙이셨는데 실수는 기본적으로 double형 타입을 인식하는 걸로 알고 있어 32.4뒤에f를 붙여 32.4가 float타입으로 바뀐거라고 이해했습니다.
근데
long bing = 345455433L;에서도 645455433뒤에 L을 붙이셨는데, 원래 정수값은 자바에서 int타입으로 인식을 하는 걸로 알고 있습니다.
그럼 int가 long보다 더 작은 타입이기때문에 L을 안붙이는게 맞는거 같은데 왜 뒤에 L을 붙이셨는지 궁금합니다.

1 개의 답변
-

double형 타입이 float 보다 크고, long 타입이 int보다 큰것과은 논리적인 이야기인것이고..
int intVal = 3141592, long longVal = 3141592L;
float floatVal = 3.141592F, double doubleVal = 3.141592;
가 맞는것은 어느 타입이 크기때문에 명시하고, 어느타입이 작기때문에 명시하지 않는다. 라는 것으로 이해하기 보다는..

자바에서 기본적으로 데이터를 사용할때 명시적으로..

정수일때는 기본 자료형인 int를 할당하며
실수 일때는 기본 자료형인 double 을 할당한다.
로 이해하셔야 합니다.

자바의 명시적 혹은 자동 데이터 변환을 찾아보시면 될것 같아요.

  • -

    네. 이 말이 맞습니다.

    -―2017.08.18 11:24
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.