자바 7부터는 숫자 리터럴의 숫자 사이에 언더스코어(_)를 사용할 수 있습니다. 이 구분자를 사용하면 의미 있는 숫자끼리 그룹화하는 것이 가능하며, 이로 인해 코드의 가독성이 높아집니다.
int noUnderScore = 200000000;
int useUnderScore = 200_000_000;
long noUS = 9223372036854775800L;
long useUS = 9_223_372_036_854_775_800L;
정수형 int의 기본 데이터 범위는 ~2147483648 ~ 2147483647이고, long의 경우에는 이보다 훨씬 큰 -9223372036854775808 ~ 9223372036854775807입니다. 따라서 큰 자릿수의 숫자일 경우 한눈에 파악하기가 어렵기 때문에 언더스코어를 사용하는 것이 더 편리합니다.
단, 자바에서 숫자 리터럴에는 단순히 int나 long 외에도 float이나 16진수 등 여러 표현이 존재하기 때문에, 규칙이 존재합니다. 숫자 리터럴 내에서 아래의 위치에서는 언더스코어를 사용할 수 없습니다.
- 숫자의 맨 앞, 맨 뒤
- 소수점의 바로 앞, 뒤
- F혹은 L의 앞
- 진수를 나타내는 문자 위치
사용할 수 없는 위치가 어디인가, 예시로 살펴보도록 하겠습니다.
//아래 경우는 모두 언더스코어가 사용이 불가능한 위치로, 이것만 조심하면 숫자 리터럴 어느 위치에서든 언더스코어 사용이 가능합니다.
int useInHead = _1234;
int useInTail = 1234_;
float frontOfDP = 1234_.5678F;
float afterOfDP = 1234._5678F;
long frontOfLongSuffix = 1234_L;
float frontOfFloatSuffix = 1234.5678_F;
int hex = 0_x52;
'Java' 카테고리의 다른 글
Lambda, 무엇이 단점일까? (0) | 2020.10.20 |
---|---|
Lambda 무엇이 좋을까? (0) | 2020.10.20 |
[Refactoring] if문 (0) | 2020.10.20 |
Map의 Value 얻기 - KeySet => EntrySet (0) | 2020.10.12 |
HashMap의 동작방법 (0) | 2020.10.12 |
댓글