解釋帶前導零的整數文字
在Java 中,帶前導零的整數文字被解釋為八進位(以8 為基數)數字。這種行為可能會令人費解,尤其是與十進制(以 10 為基數)文字相比。
考慮以下程式碼:
System.out.println(0123); // Prints 83 System.out.println(123); // Prints 123
解釋:
(1 * 8 * 8) + (2 * 8) + (3) = 83
因此,0123 被解釋為十進制的 83。
避免八進制解釋:
為了避免意外的八進制解釋,只需省略不打算表示八進制數字的整數文字中的前導零。
十六進位文字:
Java 也支援十六進位(以 16 為基數)文字,其前綴為 0x。例如:
System.out.println(0x123); // Prints 291
在這種情況下,0x123 代表十六進位值 123,相當於十進位的 291。
以上是為什麼 Java 將帶前導零的整數文字解釋為八進位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!