교재에서 리터럴 부분을 공부하다가 질문이 있어서 문의드립니다.
정수형 리터럴은 int 실수형 리터럴은 double이 기본값이라
long a = 1234; (이 경우는 리터럴 int) 리터럴의 값이 형보다 작으므로 자동으로 형변환되어
변수에 저장되기 떄문에 에러 발생 하지 않음
long a = 1234L; (이 경우는 리터럴 long)
float f = 12.34(이 경우는 리터럴 double) 리터럴의 값이 float 보다 크므로 에러 발생 명시적 형변환 필요
float f = 12.34F(이 경우는 리터럴 float)
byte b = 123; (이 경우 리터럴 int) 리터럴의 값이 형보다 큰데 에러가 발생하지 않아서
질문 드립니다 왜 그런가요?
무조건 변수 선언부에 있는 데이터 타입과 리터럴 타입이 일치 해야하나요?