Heim >Java >javaLernprogramm >Warum sind 08 und 09 in Java ungültige Ganzzahlliterale?

Warum sind 08 und 09 in Java ungültige Ganzzahlliterale?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 19:43:12924Durchsuche

Why Are 08 and 09 Invalid Integer Literals in Java?

Warum 08 als Integer-Literal in Java ungültig ist

In Java werden Integer-Literale, die mit 0 beginnen, als Oktalzahlen (Basis 8) interpretiert ). Dies kann bei Zahlen mit mehreren Ziffern zu Verwirrung führen.

Wenn auf 0 eine einzelne Ziffer folgt (außer 8 oder 9), ist der Wert einfach der numerische Wert dieser Ziffer. Bei Zahlen mit mehr als einer Ziffer kann die Interpretation jedoch überraschend sein.

Zum Beispiel:

  • 010 wird als 8 (1 x 8 0) interpretiert
  • 024 wird als 20 (2 x 8 4) interpretiert

Allerdings 08 und 09 sind ungültige Ganzzahlliterale in Java. Dies liegt daran, dass es im Oktalsystem nur 8 Ziffern (0-7) gibt, sodass jede Zahl, die mit 08 oder 09 beginnt, außerhalb des zulässigen Bereichs liegt.

Als Best Practice wird empfohlen, niemals eine Ganzzahl zu beginnen Literal mit 0, es sei denn, Sie beabsichtigen ausdrücklich, Null selbst zu schreiben. Dies hilft, unerwartete Ergebnisse aufgrund der Oktalinterpretation zu vermeiden.

Das obige ist der detaillierte Inhalt vonWarum sind 08 und 09 in Java ungültige Ganzzahlliterale?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn