F
[Java] long float의 값 뒤에 L, F을 붙여야 하는 이유
long 타입으로 변수를 선언하고 값을 초기화 할 때에는 반드시 리터럴 뒤에 소문자나 대문자 L을 붙여주어야 한다. 아래 에러가 뜨는 이유는 2147483648 이라는 값은 변수 lo에 저장하기 전에 임시로 메모리에 저장되는데, 이때 사용하는 기본 데이터 타입이 int 이고 허용 범위를 초과하는 리터럴은 임시로 저장하는 과정에서 에러가 나는 것이다. 이것을 해결하려면 아래와 같이 리터럴 끝에 l을 붙여주면 된다. float도 비슷한 맥락의 이유로 에러가 난다. float의 데이터 값을 변수에 저장하기 전에 이 값을 메모리에 임시로 저장하는데, 이때 저장되는 타입이 double이다. double은 8 바이트의 데이터 타입이고, float는 4 바이트다. 1199.80이라는 수는 8바이트의 double 타입..