Maison >Java >javaDidacticiel >Pourquoi la conversion de « 1 » en caractère en Java entraîne-t-elle une sortie vide ?
Dévoiler les mystères de la conversion d'entiers en caractères en Java
La conversion d'entiers en caractères en Java est une tâche courante mais peut être déroutante sinon compris correctement. Cet article met en lumière les subtilités impliquées dans cette conversion et fournit des solutions aux problèmes potentiels.
Le mystère derrière la sortie vide
Considérez l'extrait de code ci-dessous :
int a = 1; char b = (char) a; System.out.println(b);
Dans ce cas, la sortie sera une chaîne vide. La raison en est le schéma de codage Unicode utilisé par Java. Lorsque l'entier a est converti en caractère à l'aide de la conversion (char), il est interprété comme le point de code Unicode 1, qui correspond au caractère de début de titre. Ce caractère n'est pas imprimable, d'où la sortie vide.
L'astuce du '1'
En revanche, l'extrait de code suivant imprimera le caractère « 1 » :
int a = '1'; char b = (char) a; System.out.println(b);
En effet, les guillemets simples dans l'initialisation de a indiquent que nous avons affaire à un caractère littéral. Dans ce cas, le caractère « 1 » correspond au point de code Unicode 49, qui est le caractère « 1 ».
Conversion de chiffres en caractères
Si vous le souhaitez pour convertir un chiffre (0-9) en caractère, vous pouvez ajouter 48 au chiffre, puis le transtyper en caractère :
int digit = 7; char c = (char) (digit + 48); System.out.println(c); // Output: '7'
Vous pouvez également utiliser la méthode Character.forDigit() :
int digit = 7; char c = Character.forDigit(digit, 10); System.out.println(c); // Output: '7'
Conversion de points de code Unicode en caractères
Pour convertir un entier qui représente un point de code Unicode en caractère, vous pouvez utiliser Character.toChars() méthode :
int codePoint = 65; char[] chars = Character.toChars(codePoint); char c = chars[0]; System.out.println(c); // Output: 'A'
En comprenant ces techniques, vous pouvez convertir en toute confiance des entiers en caractères en Java, en évitant toute confusion ou sorties inattendues.
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!