본문 바로가기

Study for Backend/Programming language - Java

[Java기초] long, float에 L과 F를 붙여야 하는 이유

고정된 데이터를 리터럴(literal)이라고 하는데, 리터럴들은 자바가 실행될 때 메모리의 별도의 Data Area (Constant pool)에 공간을 할당받아 저장되어 있게 된다. 리터럴의 기본 데이터 타입을 정수의 경우 int로, 실수의 경우 double로 저장이 되게 된다.

 

long 변수에 int 범위 안에 정수를 선언해도 에러가 안나는 이유는 int 리터럴이 자동으로 long으로 형변환 되기 때문이며 
float의 경우도 동일하게 실수 리터럴의 기본 데이터 타입인 double로 결정이 되기 때문에, float 타입으로 저장이 되도록 하기 위해서 맨뒤에 F나 f 식별자를 붙여서 선언을 하면 정상적으로 동작하게 된다.

 

 

 

관련link

https://kim-oriental.tistory.com/66

 

[자바] long, float 타입 변수 초기화 시 L, F 식별자 사용 이유

자바에서 long이나 float 데이터 타입의 변수를 선언하고 아래와 같이 특정 값으로 초기화하려고 하면, 아래와 같은 에러가 발생을 하게 됩니다. long long1 = 12345678912; float float1 = 123.123; Integer number to

kim-oriental.tistory.com

 

 

https://yesaroun.tistory.com/entry/long%ED%98%95%EA%B3%BC-float%ED%98%95-%EB%92%A4%EC%97%90-%E2%80%98L%E2%80%99%EA%B3%BC-%E2%80%99f%E2%80%99%EA%B0%80-%EB%B6%99%EB%8A%94-%EC%9D%B4%EC%9C%A0

 

long형과 float형 뒤에 ‘L’과 ’f’가 붙는 이유

java의 자료형을 표로 정리하면 아래와 같습니다. 정수형 문자형 실수형 논리형 1바이트 byte boolean 2바이트 short char 4바이트 int float 8바이트 long double 이 자료형중 float형과 Long형을 이용할때 리터

yesaroun.tistory.com