앞에 0이 있는 정수 리터럴 해석
Java에서 앞에 0이 있는 정수 리터럴은 8진수(base-8) 숫자로 해석됩니다. 이 동작은 특히 10진수(10진수) 리터럴과 비교할 때 혼란스러울 수 있습니다.
다음 코드를 고려하세요.
System.out.println(0123); // Prints 83 System.out.println(123); // Prints 123
설명:
(1 * 8 * 8) + (2 * 8) + (3) = 83
따라서 0123은 10진수에서 83으로 해석됩니다.
8진수 해석 방지:
예기치 않은 8진수 해석을 방지하려면 8진수를 나타내지 않는 정수 리터럴에서 앞에 오는 0을 생략하면 됩니다.
16진수 리터럴:
Java는 접두사가 0x인 16진수(base-16) 리터럴도 지원합니다. 예:
System.out.println(0x123); // Prints 291
이 경우 0x123은 16진수 값 123을 나타내며 이는 10진수 291과 같습니다.
위 내용은 Java가 앞에 0이 있는 정수 리터럴을 8진수로 해석하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!