Maison >Java >javaDidacticiel >Pourquoi les littéraux entiers comme 08 sont-ils invalides en Java ?

Pourquoi les littéraux entiers comme 08 sont-ils invalides en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 09:22:15692parcourir

Why Are Integer Literals Like 08 Invalid in Java?

Littéraux entiers Java : pourquoi 08 est-il invalide ?

En Java, les littéraux entiers écrits sous la forme d'une séquence de chiffres décimaux représentent un nombre décimal (base 10) valeur. À l'inverse, si un littéral entier commence par le chiffre 0, il est interprété comme une quantité octale (base 8).

Exception pour les petits entiers

Pour les nombres à un chiffre nombres, l'interprétation octale est identique à l'interprétation décimale, à l'exception des valeurs 08 et 09. Par conséquent, vous ne remarquerez peut-être pas que ces nombres sont traités comme octal initialement.

Confusion avec les nombres à plusieurs chiffres

Cependant, si un littéral entier a plusieurs chiffres, l'interprétation octale peut conduire à des résultats inattendus. Par exemple :

  • 010 représente 8 en octal, pas 10 en décimal
  • 024 représente 20 en octal, pas 24 en décimal

Évitez les zéros non significatifs

Pour garantir la clarté et éviter confusion, il est recommandé d'utiliser un préfixe pour les littéraux octaux, tel que 0o (par exemple, 0o10), ou d'éviter simplement de commencer un littéral entier par le chiffre 0, sauf si vous avez l'intention d'écrire zéro lui-même.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn