Opérations Mathématiques sur Char
Pourquoi les opérations mathématiques sont-elles possibles sur le type char?
Le type de données char
est assez intéressant. Il stocke des caractères, mais vous pouvez également effectuer des opérations sur ce type de données.
Quel sera le résultat de l'exécution de ce code?
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
On pourrait penser que le résultat serait A(
, mais comme nous pouvons le voir, le résultat est i
. Pourquoi cela ? char
n'est pas purement un type de données de caractère ; il prend des caractères de la table ASCII. Le caractère A
correspond au nombre 65 dans la table, tandis que le caractère (
correspond au nombre 40. Comme vous l'avez peut-être deviné, le caractère i
correspond à 105, car 65 + 40 = 105.
Il est important de savoir cela car cela nous permet d'opérer sur le type de données char
de manière excellente et flexible.
Voici un lien vers la table ASCII.
Conversion
Dans le code ci-dessus, vous avez peut-être remarqué cette syntaxe inhabituelle :
char result = (char) (firstLetter + secondLetter);
Mais pourquoi (char)
est-il nécessaire ? L'opération d'addition renvoie un résultat de type int
car elle additionne les codes numériques des caractères. Pour stocker ce résultat dans une variable de type char
, une conversion explicite est nécessaire. C'est exactement ce que fait la construction (char)
—elle convertit la valeur numérique en un caractère.
Dans notre exemple, le résultat de l'addition est le nombre 105. La construction (char)
convertit ce nombre en le caractère correspondant au code 105 dans la table ASCII, qui se trouve être le caractère i
.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Posez-moi des questions sur ce sujet
Résumer ce chapitre
Afficher des exemples du monde réel
Awesome!
Completion rate improved to 2.7
Opérations Mathématiques sur Char
Glissez pour afficher le menu
Pourquoi les opérations mathématiques sont-elles possibles sur le type char?
Le type de données char
est assez intéressant. Il stocke des caractères, mais vous pouvez également effectuer des opérations sur ce type de données.
Quel sera le résultat de l'exécution de ce code?
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
On pourrait penser que le résultat serait A(
, mais comme nous pouvons le voir, le résultat est i
. Pourquoi cela ? char
n'est pas purement un type de données de caractère ; il prend des caractères de la table ASCII. Le caractère A
correspond au nombre 65 dans la table, tandis que le caractère (
correspond au nombre 40. Comme vous l'avez peut-être deviné, le caractère i
correspond à 105, car 65 + 40 = 105.
Il est important de savoir cela car cela nous permet d'opérer sur le type de données char
de manière excellente et flexible.
Voici un lien vers la table ASCII.
Conversion
Dans le code ci-dessus, vous avez peut-être remarqué cette syntaxe inhabituelle :
char result = (char) (firstLetter + secondLetter);
Mais pourquoi (char)
est-il nécessaire ? L'opération d'addition renvoie un résultat de type int
car elle additionne les codes numériques des caractères. Pour stocker ce résultat dans une variable de type char
, une conversion explicite est nécessaire. C'est exactement ce que fait la construction (char)
—elle convertit la valeur numérique en un caractère.
Dans notre exemple, le résultat de l'addition est le nombre 105. La construction (char)
convertit ce nombre en le caractère correspondant au code 105 dans la table ASCII, qui se trouve être le caractère i
.
Merci pour vos commentaires !