Méthode Java Long toHexString

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à utiliser la méthode Java toHexString(), qui renvoie l'équivalent hexadécimal d'une valeur passée en tant que long non signé, en base 16. Vous allez apprendre à utiliser la méthode toHexString(), ses paramètres et son type de retour.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/while_loop("While Loop") java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/SystemandDataProcessingGroup -.-> java/math_methods("Math Methods") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/operators -.-> lab-117922{{"Méthode Java Long toHexString"}} java/variables -.-> lab-117922{{"Méthode Java Long toHexString"}} java/while_loop -.-> lab-117922{{"Méthode Java Long toHexString"}} java/output -.-> lab-117922{{"Méthode Java Long toHexString"}} java/classes_objects -.-> lab-117922{{"Méthode Java Long toHexString"}} java/user_input -.-> lab-117922{{"Méthode Java Long toHexString"}} java/exceptions -.-> lab-117922{{"Méthode Java Long toHexString"}} java/math_methods -.-> lab-117922{{"Méthode Java Long toHexString"}} java/string_methods -.-> lab-117922{{"Méthode Java Long toHexString"}} end

Créez une classe Java

Ouvrez un terminal et créez une nouvelle classe Java appelée LongToHexadecimal à l'aide de la commande suivante :

touch LongToHexadecimal.java

Ouvrez le fichier LongToHexadecimal.java dans un éditeur de texte.

Écrivez la méthode principale

Prenez le code suivant pour définir la méthode principale :

public class LongToHexadecimal {
    public static void main(String[] args){
        // Votre code ici
    }
}

Convertir un long positif en hexadécimal

Ensuite, vous utiliserez la méthode toHexString() pour convertir un long positif en hexadécimal.

Ajoutez le code suivant à l'intérieur de la méthode main pour convertir la valeur long 60L en son équivalent hexadécimal :

long i = 60L;
System.out.println("Nombre réel est = " + i);
System.out.println("Équivalent hexadécimal est = " + Long.toHexString(i)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères

Compilez et exécutez le programme dans le terminal à l'aide de la commande suivante :

javac LongToHexadecimal.java && java LongToHexadecimal

Vous devriez voir la sortie suivante :

Nombre réel est = 60
Équivalent hexadécimal est = 3c

Convertir un long négatif en hexadécimal

Ensuite, vous utiliserez la méthode toHexString() pour convertir un long négatif en hexadécimal.

Ajoutez le code suivant à l'intérieur de la méthode main pour convertir la valeur long -52L en son équivalent hexadécimal :

long j = -52L;
System.out.println("Nombre réel est = " + j);
System.out.println("Équivalent hexadécimal est = " + Long.toHexString(j)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères

Compilez et exécutez à nouveau le programme dans le terminal à l'aide de la commande suivante :

javac LongToHexadecimal.java && java LongToHexadecimal

Vous devriez voir la sortie suivante :

Nombre réel est = -52
Équivalent hexadécimal est = ffffffffffffffcc

Accepter une entrée long de l'utilisateur

Ensuite, vous allez modifier le programme pour accepter une entrée de l'utilisateur.

Ajoutez le code suivant à l'intérieur de la méthode main pour lire une entrée long de l'utilisateur et la convertir en son équivalent hexadécimal :

Scanner sc = new Scanner(System.in);
System.out.print("Entrez le nombre = ");
long k = sc.nextLong();
System.out.println("Nombre réel est  = " + k);
System.out.println("Représentation hexadécimale est = " + Long.toHexString(k)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères

Compilez et exécutez à nouveau le programme dans le terminal à l'aide de la commande suivante :

javac LongToHexadecimal.java && java LongToHexadecimal

Vous devriez voir une sortie comme la suivante :

Entrez le nombre = 585
Nombre réel est  = 585
Représentation hexadécimale est = 249

Gérer les entrées invalides

Ensuite, vous allez ajouter du code pour gérer les entrées invalides.

Modifiez le code existant à l'intérieur de la méthode main pour attraper toute exception d'entrée :

Scanner sc = new Scanner(System.in);
try {
    System.out.print("Entrez le nombre = ");
    long k = sc.nextLong();
    System.out.println("Nombre réel est  = " + k);
    System.out.println("Représentation hexadécimale est = " + Long.toHexString(k)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères
} catch (InputMismatchException ex) {
    System.out.println("Entrée invalide! Veuillez entrer une valeur long valide.");
}

Compilez et exécutez à nouveau le programme dans le terminal à l'aide de la commande suivante :

javac LongToHexadecimal.java && java LongToHexadecimal

Vous devriez voir une sortie comme la suivante :

Entrez le nombre = abc
Entrée invalide! Veuillez entrer une valeur long valide.

Ajouter une boucle

Ensuite, vous allez modifier le programme pour accepter une entrée de l'utilisateur jusqu'à ce qu'ils arrêtent le programme.

Ajoutez le code suivant à l'intérieur de la méthode main pour maintenir le programme en cours d'exécution jusqu'à ce que l'utilisateur quitte :

Scanner sc = new Scanner(System.in);
while (true) {
    System.out.print("Entrez le nombre (ou -1 pour quitter) = ");
    long k = sc.nextLong();
    if (k == -1) {
        System.out.println("Au revoir!");
        break;
    }
    System.out.println("Nombre réel est  = " + k);
    System.out.println("Représentation hexadécimale est = " + Long.toHexString(k)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères
}

Compilez et exécutez à nouveau le programme dans le terminal à l'aide de la commande suivante :

javac LongToHexadecimal.java && java LongToHexadecimal

Vous devriez voir une sortie comme la suivante :

Entrez le nombre (ou -1 pour quitter) = 456
Nombre réel est  = 456
Représentation hexadécimale est = 1c8
Entrez le nombre (ou -1 pour quitter) = -999
Nombre réel est  = -999
Représentation hexadécimale est = fffffffffffffc19
Entrez le nombre (ou -1 pour quitter) = 754
Nombre réel est  = 754
Représentation hexadécimale est = 2f2
Entrez le nombre (ou -1 pour quitter) = -1
Au revoir!

Tester les cas limites

Enfin, testez les cas limites où le nombre d'entrée est le plus grand et le plus petit nombre que peut représenter un long.

Ajoutez le code suivant à l'intérieur de la boucle while dans la méthode main :

System.out.println("Nombre réel est  = " + Long.MAX_VALUE);
System.out.println("Représentation hexadécimale est = " + Long.toHexString(Long.MAX_VALUE)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères
System.out.println("Nombre réel est  = " + Long.MIN_VALUE);
System.out.println("Représentation hexadécimale est = " + Long.toHexString(Long.MIN_VALUE)); //renvoie la valeur long en base 16 hexadécimale sous forme de chaîne de caractères

Compilez et exécutez à nouveau le programme dans le terminal à l'aide de la commande suivante :

javac LongToHexadecimal.java && java LongToHexadecimal

Vous devriez voir une sortie comme la suivante :

Entrez le nombre (ou -1 pour quitter) = 9223372036854775807
Nombre réel est  = 9223372036854775807
Représentation hexadécimale est = 7fffffffffffffff
Nombre réel est  = -9223372036854775808
Représentation hexadécimale est = 8000000000000000
Entrez le nombre (ou -1 pour quitter) = -1
Au revoir!

Récapitulatif

Dans ce laboratoire, vous avez appris à utiliser la méthode Java toHexString() pour convertir une valeur long en son équivalent hexadécimal. Vous avez pratiqué la lecture d'une entrée de l'utilisateur, la gestion des exceptions d'entrée de l'utilisateur et l'utilisation d'une boucle pour maintenir un programme en cours d'exécution jusqu'à ce que l'utilisateur quitte activement le programme. Vous pouvez utiliser ces concepts de programmation pour construire des applications Java plus complexes qui manipulent des valeurs long et prennent une entrée de l'utilisateur.