Lors de la programmation de concours avec java, j'ai senti que la gestion du type char était compliquée, j'ai donc décidé de le résumer.
Le type char stocke les caractères Unicode hexadécimaux. À ce stade, le type char a une valeur numérique lorsque le caractère Unicode est converti en nombre décimal. Par exemple, si vous affectez un type de caractère '1' à une variable de type int, vous pouvez le traiter comme une valeur numérique de 49.
int c = 'a';
System.out.println(c);
//49 est la sortie
(char) (valeur numérique) devient le caractère correspondant à la valeur numérique.
char c = (char)97;
System.out.println(c);
//'a'Est sortie
Il y a des moments où vous souhaitez convertir un nombre de type char en type int, par exemple lorsque vous obtenez un nombre en tant que type char avec String.charAt (index) à partir d'une chaîne de caractères qui répertorie les nombres. Comme mentionné ci-dessus, si vous essayez d'utiliser le type char comme type int tel quel, ce sera une valeur numérique différente. Dans ce cas, Character.getNumericValue (char c) est utilisé.
char c = '1';
int value = Character.getNumericValue(c);
//value == 1
Inversement, si vous souhaitez convertir un nombre de type int en type char, ajoutez-le à «0».
int a = 1;
char c = (char)('0'+a);
//c == '1'
Les nombres de l'alphabet de type char sont continus, comme 97 pour le type char "a" et 98 pour "b". Par conséquent, chaque alphabet peut être géré par l'instruction for comme suit.
char c = 'a';
for(int i = 0; i < 26; i++){
System.out.print(c);
c++;
}
//abc...Est sortie
Envisagez de stocker dans un tableau le nombre de chaque alphabet inclus dans la chaîne.
String S = "abbcccdefg";
int[] a = new int[26];
for(int i = 0; i < S.length(); i++)
a[S.charAt(i)-'a']++;
Même si vous ne vous souvenez pas du nombre de «a», vous pouvez le traiter comme un nombre, donc il n'y a pas de problème.
Recommended Posts