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

이토토·2022년 2월 22일
0

Java

목록 보기
1/1

Java 자료형중 float형과 Long형을 이용할때 리터럴 맨 끝에 F(f), L(l)을 붙입니다.

//long lNum = 12345678900;   오류
long lNum = 12345678900L;
float fNum = 0.123456F;

이렇게 붙이는 이유는
java에서 정수는 항상 int형 타입으로 잡히고 실수는 double형 타입으로 잡히기 때문입니다.

즉, long lNum = 12345678900;
이 구문에서의 자바는 리터럴 12345678900를 int 자료형에 집어넣으려고 했지만
12345678900 은 int가 담을 수 있는 범위를 벗어납니다.

그래서 끝에 식별자 L 또는 l 을 붙여 java가 8바이트에 집어넣도록 알려준다고 생각하면 될 것 같습니다.
그렇다면

byte a = 1;

이 경우에서 리터럴 1 또한 int에 대입되기 때문에 오류가 생겨야 하지 않을까 하는 생각이 들 수 있는데요.

java에는 변환모듈이 달려 해결이 가능하다고 합니다.
byte와 short는 저장 목적이기에 자동으로 형 변환이 된다고 하네요.



https://www.instagram.com/p/CYdxOUJp_PE/?utm_source=ig_web_copy_link


profile
예사로운 개발자가 되고 싶어요.

0개의 댓글