Maison > Java > javaDidacticiel > Pourquoi « 0123 » imprime-t-il « 83 » en Java ?

Pourquoi « 0123 » imprime-t-il « 83 » en Java ?

Patricia Arquette
Libérer: 2024-12-27 13:14:10
original
826 Les gens l'ont consulté

Why Does `0123` Print `83` in Java?

Les zéros non significatifs confondent l'interprétation des entiers

Lorsqu'il s'agit de littéraux entiers, la présence de zéros non significatifs peut avoir des conséquences inattendues. Considérez le code suivant :

System.out.println(0123); // prints 83
System.out.println(123);  // prints 123
Copier après la connexion

Pourquoi la première ligne imprime-t-elle 83 au lieu de 123 ? La clé réside dans le zéro non significatif.

Interprétation octale

Un zéro non significatif dans un littéral entier indique que le nombre est exprimé en octal (base 8). Pour convertir un nombre octal en décimal, multipliez chaque chiffre de droite à gauche par la puissance appropriée de 8 et additionnez les résultats.

Dans le cas de 0123, nous avons :

(1 * 8 * 8) + (2 * 8) + (3) = 83
Copier après la connexion

Par conséquent, 0123 est interprété comme la valeur décimale 83.

Pourquoi pas d'octal Flotteurs ?

Curieusement, Java n'autorise pas les littéraux octaux à virgule flottante, donc ce comportement ne s'applique qu'aux nombres entiers.

Meilleures pratiques

Pour éviter toute confusion, il est généralement recommandé d'éviter d'utiliser des zéros non significatifs dans les littéraux entiers, sauf si vous souhaitez spécifiquement que le nombre soit interprété comme octal.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal