Maison > Java > javaDidacticiel > Pourquoi l'ajout de deux caractères Java donne-t-il un entier ?

Pourquoi l'ajout de deux caractères Java donne-t-il un entier ?

Barbara Streisand
Libérer: 2024-12-14 01:56:10
original
884 Les gens l'ont consulté

Why Does Adding Two Java Chars Result in an Integer?

Ajout de caractères Java : Int ou résultat du char ?

Lors de l'ajout de deux caractères (« a » « b ») en Java, cela peut semble surprenant que le résultat soit un int (195). Cela est dû aux règles de promotion numérique binaire de Java.

Promotion numérique binaire

Selon la spécification du langage Java, lors de l'ajout de caractères, de courts-circuits ou d'octets Java, le résultat est promu int. Ceci est conçu pour éviter toute perte de précision lorsque vous travaillez avec des types de données plus petits.

Cas particulier : affectation composée

Cependant, il existe une exception pour les opérateurs d'affectation composée comme =. Dans ce cas, le résultat de l'opération est converti au type de la variable de gauche.

Détermination du type de résultat

Une façon de déterminer le type de le résultat est de le convertir en Object et de vérifier sa classe :

System.out.println(((Object)('a' + 'b')).getClass()); // Outputs: class java.lang.Integer
Copier après la connexion

Char Concaténation

Si vous avez l'intention de concaténer des caractères sous forme de chaîne plutôt que d'entier, il existe différentes manières de le faire :

  • Ajouter une chaîne vide :
'a' + "" + 'b'
Copier après la connexion
  • Ajouter une chaîne vide à la début :
"" + 'a' + 'b'
Copier après la connexion
  • Utilisez un StringBuilder ou un String.format :
new StringBuilder().append('a').append('b').toString()
String.format("%c%c", 'a', 'b')
Copier après la connexion

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