목차
💭Intro
알고리즘 스터디를 하는 도중에 데이터타입이 int인 변수에 10_000_000 값으로 초기화한 코드를 보게 되었다. 팀원은 가독성을 높이기 위해 사용했다고 말했는데, 이에 대해 더 궁금해져서 찾아보게 되었다.
📂content
1. 언제 사용?
- Java SE 7 이상부터 언더바(_)는 숫자 리터럴의 어디든지 쓸 수 있다.
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
2. 사용되지 않는 경우는?
아래 4가지 경우에는 사용할 수 없다.
1. 숫자의 시작이나 끝
2. 소수점의 앞, 뒤
3. F나 L의 앞
4. 숫자 문자열이 예상되는 위치
float pi1 = 3_.1415F; // X; 소수점 앞
float pi2 = 3._1415F; // X; 소수점 뒤
long socialSecurityNumber1
= 999_99_9999_L; // X; L 앞
int x1 = _52; // X; 숫자가 아닌 변수(_로 시작해서)
int x2 = 5_2; // OK (decimal literal)
int x3 = 52_; // X; 숫자의 끝
int x4 = 5_______2; // OK (decimal literal)
int x5 = 0_x52; // X; 진수를 나타내는 0x 사이
int x6 = 0x_52; // X; 숫자의 시작
int x7 = 0x5_2; // OK (hexadecimal literal)
int x8 = 0x52_; // X; 숫자의 끝
int x9 = 0_52; // OK (octal literal)
int x10 = 05_2; // OK (octal literal)
int x11 = 052_; // X; 숫자의 끝
3. 사용 효과
- 가독성을 높인다.
📑 출처
https://docs.oracle.com/javase/8/docs/technotes/guides/language/underscores-literals.html
감사합니다😊
'💻개발 > JAVA' 카테고리의 다른 글
split(".") 예상결과가 나오지 않는 이유 (0) | 2024.02.17 |
---|---|
알고리즘) Stringbuilder 왜 사용할까? (1) | 2024.01.11 |
리터럴 (0) | 2023.06.23 |
int와 Integer (0) | 2023.06.22 |