Maison > Java > javaDidacticiel > Pourquoi la conversion de « 1 » en caractère en Java entraîne-t-elle une sortie vide ?

Pourquoi la conversion de « 1 » en caractère en Java entraîne-t-elle une sortie vide ?

Mary-Kate Olsen
Libérer: 2024-11-15 07:42:02
original
869 Les gens l'ont consulté

Why Does Converting `1` to a Character in Java Result in an Empty Output?

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);
Copier après la connexion

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);
Copier après la connexion

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'
Copier après la connexion

Vous pouvez également utiliser la méthode Character.forDigit() :

int digit = 7;
char c = Character.forDigit(digit, 10);
System.out.println(c); // Output: '7'
Copier après la connexion

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'
Copier après la connexion

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!

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