Java에서는 큰 숫자를 다룰 때 밑줄(underscore, _)을 사용하여 자릿수를 구분할 수 있습니다. 이 기능은 Java 7부터 도입되었으며, 긴 숫자 코드의 가독성을 크게 향상시켜 줍니다.
사용 예제
다음 코드는 Java의 int, long, float, double 타입 숫자 리터럴에서 밑줄을 활용하는 방법을 보여줍니다.
public class Demo{
public static void main (String[] args) throws java.lang.Exception{
int my_num_1 = 6_78_00_120;
System.out.println("The number is : " + my_num_1);
long my_num_2 = 2_00_11_001;
System.out.println("The number is : " + my_num_2);
float my_num_3 = 4.01_981F;
System.out.println("The number is : " + my_num_3);
double my_num_4 = 12.89_46_061;
System.out.println("The number is : " + my_num_4);
}
}실행 결과
The number is : 67800120 The number is : 20011001 The number is : 4.01981 The number is : 12.8946061
코드 설명
Demo라는 이름의 클래스 안에는 main 함수가 있으며, 이 함수에서는 밑줄을 활용해 다양한 형식의 값들을 표현합니다.
- int형 변수 my_num_1에는 밑줄로 자릿수를 구분한 정수 67800120을 저장합니다.
- long형 변수 my_num_2에는 더 큰 범위의 정수 20011001을 저장합니다.
- float형 변수 my_num_3에는 소수점 아래 자릿수가 밑줄로 구분된 실수 4.01981을 저장하며, float임을 나타내는 F 접미사를 붙입니다.
- double형 변수 my_num_4에는 실수 12.8946061을 저장합니다.
각 변수에 저장된 값은 콘솔(System.out.println)을 통해 출력됩니다. 주목할 점은 출력 결과에서 밑줄이 모두 제거된 상태로 표시된다는 것입니다. 즉, 밑줄은 컴파일 시점에 무시되며 실제 값에는 영향을 주지 않습니다.
밑줄 사용 규칙
숫자 리터럴에서 밑줄을 사용할 때는 몇 가지 규칙을 반드시 지켜야 합니다.
- 밑줄은 숫자 중간에만 위치할 수 있습니다.
- 숫자의 시작 부분이나 끝 부분에는 밑줄을 사용할 수 없습니다. (예: _100 또는 100_)
- 소수점 바로 앞이나 뒤에는 밑줄을 사용할 수 없습니다. (예: 1._5 또는 1_.5)
- L, F 같은 접미사 바로 앞에는 밑줄을 사용할 수 없습니다. (예: 100_L)
- 0x처럼 진법 접두사와 숫자 사이에는 밑줄을 사용할 수 없습니다.
이러한 규칙만 지키면 신용카드 번호, 전화번호 등 자릿수가 많은 숫자를 훨씬 읽기 쉽게 코드에 작성할 수 있습니다.