Maison >Java >javaDidacticiel >Le programme Java implémente la fonction de conversion d'entiers en caractères
Java a huit types de données de base : byte, short, int, long, char, float, double et boolean. int est un type de données signé 32 bits utilisé pour stocker des entiers. Il varie de -2.147.483.648 à 2.147.483.647. char est un caractère Unicode non signé de 16 bits.
Dans cet article, nous discuterons de quelques méthodes pour convertir int en char−
En ajoutant «0»
En utilisant la méthode forDigit()
En utilisant la conversion de type
L'exemple ci-dessous montre comment déclarer et initialiser une variable int.
int num1 = 24;
int est le mot-clé utilisé pour déclarer une variable int et num1 est le nom de la variable contenant la valeur 24.
L'exemple suivant illustre comment déclarer et initialiser des variables de caractères. Nous stockons les variables de caractères entre guillemets simples (« »).
char ch1 = ‘S’;
char est le mot-clé utilisé pour déclarer une variable de caractère, ch1 est le nom de la variable contenant le caractère 'S'.
forDigit() de class 'Character' renvoie le caractère du nombre spécifié en fonction de la valeur RADIX donnée. La valeur décimale RADIX est 10, la valeur hexadécimale RADIX est 16 et la valeur binaire RADIX est 2.
La classe « Caractère » est disponible dans le package « java.lang ».
Nous utiliserons également la méthode getClass().getSimpleName() dans le programme pour vérifier le type de données après avoir converti la variable entière en caractère.
char char_variable = Character.forDigit(var_to_convert, radix);
char_variable - Le nom de la variable de caractère qui stocke la valeur convertie.
Character est le nom de la classe, forDigit() est sa méthode, utilisée avec deux paramètres.
var_to_convert est la variable à convertir, radix est la base de conversion
import java.lang.*; public class Conversion { public static void main(String[] args) { int rad = 16; int n1 = 8; int n2 = 11; // Conversion of int to char char ch1 = Character.forDigit(n1, rad ); char ch2 = Character.forDigit(n2, rad ); System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); // to check the datatype System.out.println("type of ch1: " + ((Object)ch1).getClass().getSimpleName()); System.out.println("type of ch2: " + ((Object)ch2).getClass().getSimpleName()); } }
ch1: 8 ch2: b type of ch1: Character type of ch2: Character
Dans le code ci-dessus, nous avons créé trois variables entières. 'ch1' et 'ch2' stockeront les variables converties. Nous utilisons la valeur de base 16, donc la variable spécifiée a été convertie en système numérique hexadécimal (0 à 9, puis A à F). La valeur du bit 11 dans le système hexadécimal est « b ». Par conséquent, nous avons obtenu 8 et « b » en sortie. Enfin, nous avons vérifié le type de données.
Lorsque nous convertissons un type de données en un autre type de données, nous appelons cela une conversion de type. Il existe deux types de conversions de types en Java : explicites et implicites. Dans la conversion de type implicite, le type de données inférieur est automatiquement converti en tout autre type de données supérieur par le compilateur et il n'y a aucun risque de perte de données lors de la conversion.
Lorsque nous convertissons un type de données supérieur en un type de données inférieur, cela s'appelle une conversion de type explicite et doit être effectué manuellement. Dans ce cas, il existe un risque de perte de données puisque le type de données inférieur a une plage plus petite que le type de données supérieur, ce qui est la principale raison de le faire manuellement.
Dans notre programme, nous utiliserons une conversion de type explicite car la plage d'entiers est supérieure aux caractères.
char_variable = (char) var_to_convert;
public class Conversion { public static void main(String[] args) { int n1 = 97; int n2 = 65; // Typecasting of int to char variable char ch1 = (char)n1; char ch2 = (char)n2; System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); } }
ch1: a ch2: A
Dans le code ci-dessus, nous avons déclaré et initialisé deux variables entières 'n1' et 'n2'. 'ch1' et 'ch2' stockeront les variables converties. Nous obtenons « a » et « A » dans la sortie car ce sont les valeurs ASCII de 65 et 97.
Lorsque nous ajoutons 0 à une variable entière et effectuons la conversion de type, cela renvoie en fait la valeur ASCII de ce nombre. La valeur ASCII de 0 est 48, donc si nous ajoutons 0 à 65, cela devient 113 et la valeur ASCII de 113 est q.
public class Conversion { public static void main(String[] args) { int n1 = 65; int n2 = 66; // Conversion of int to char char ch1 = (char)(n1 + '0'); char ch2 = (char)(n2 + '0'); System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); System.out.println("type of ch1: " + ((Object)ch1).getClass().getSimpleName()); System.out.println("type of ch2: " + ((Object)ch2).getClass().getSimpleName()); } }
ch1: q ch2: r type of ch1: Character type of ch2: Character
Dans cet article, nous avons discuté de trois méthodes pour convertir int en char. La plupart du temps, nous utilisons des conversions de type explicites pour ce type de conversion car elles sont faciles à utiliser et à comprendre.
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!