Integer-Literale mit führenden Nullen interpretieren
In Java werden Integer-Literale mit führenden Nullen als Oktalzahlen (Basis 8) interpretiert. Dieses Verhalten kann rätselhaft sein, insbesondere im Vergleich zu dezimalen Literalen (Basis 10).
Bedenken Sie den folgenden Code:
System.out.println(0123); // Prints 83 System.out.println(123); // Prints 123
Erklärung:
(1 * 8 * 8) + (2 * 8) + (3) = 83
Daher wird 0123 als 83 in der Dezimalzahl interpretiert.
Oktale Interpretation vermeiden:
Um unerwartete oktale Interpretationen zu vermeiden, lassen Sie einfach die führende Null bei ganzzahligen Literalen weg, die nicht zur Darstellung von Oktalzahlen gedacht sind.
Hexadezimal Literale:
Java unterstützt auch hexadezimale (Basis-16) Literale, denen 0x vorangestellt ist. Zum Beispiel:
System.out.println(0x123); // Prints 291
In diesem Fall stellt 0x123 den Hexadezimalwert 123 dar, was 291 in Dezimalzahl entspricht.
Das obige ist der detaillierte Inhalt vonWarum interpretiert Java ganzzahlige Literale mit führenden Nullen als Oktalliterale?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!