Comment vérifier si un caractère est un espace blanc en Java

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 (lab), vous apprendrez à vérifier si un caractère est un espace blanc en Java en utilisant la méthode Character.isWhitespace(). Vous explorerez comment cette méthode identifie différents caractères d'espace blanc, notamment les espaces, les tabulations, les sauts de ligne et les retours chariot.

Grâce à des exercices pratiques, vous testerez la méthode avec différents caractères, y compris les espaces, les tabulations et les caractères non blancs tels que les lettres et les chiffres, pour comprendre son comportement et son application pratique en programmation Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") subgraph Lab Skills java/data_types -.-> lab-559939{{"Comment vérifier si un caractère est un espace blanc en Java"}} java/operators -.-> lab-559939{{"Comment vérifier si un caractère est un espace blanc en Java"}} java/for_loop -.-> lab-559939{{"Comment vérifier si un caractère est un espace blanc en Java"}} java/strings -.-> lab-559939{{"Comment vérifier si un caractère est un espace blanc en Java"}} java/object_methods -.-> lab-559939{{"Comment vérifier si un caractère est un espace blanc en Java"}} end

Utilisation de la méthode Character.isWhitespace()

Dans cette étape, nous allons explorer comment utiliser la méthode Character.isWhitespace() en Java. Cette méthode fait partie de la classe Character et est utilisée pour déterminer si un caractère donné est un caractère d'espace blanc. Les caractères d'espace blanc incluent les espaces, les tabulations, les sauts de ligne et les retours chariot.

Comprendre comment identifier les espaces blancs est utile dans de nombreuses tâches de programmation, telles que l'analyse de texte, la validation d'entrée ou la mise en forme de sortie.

Créons un nouveau fichier Java pour expérimenter avec cette méthode.

  1. Ouvrez le WebIDE s'il n'est pas déjà ouvert.

  2. Dans l'explorateur de fichiers à gauche, assurez-vous d'être dans le répertoire ~/project.

  3. Cliquez avec le bouton droit dans l'espace vide du répertoire ~/project et sélectionnez "Nouveau fichier".

  4. Nommez le nouveau fichier WhitespaceChecker.java.

  5. Ouvrez le fichier WhitespaceChecker.java dans l'éditeur.

  6. Copiez et collez le code Java suivant dans l'éditeur :

    public class WhitespaceChecker {
        public static void main(String[] args) {
            char space = ' ';
            char tab = '\t';
            char newline = '\n';
            char letter = 'a';
            char digit = '1';
    
            System.out.println("Is '" + space + "' whitespace? " + Character.isWhitespace(space));
            System.out.println("Is '" + tab + "' whitespace? " + Character.isWhitespace(tab));
            System.out.println("Is '" + newline + "' whitespace? " + Character.isWhitespace(newline));
            System.out.println("Is '" + letter + "' whitespace? " + Character.isWhitespace(letter));
            System.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit));
        }
    }

    Examinons les nouvelles parties de ce code :

    • char space = ' '; : Cela déclare une variable nommée space de type char et lui assigne le caractère espace.
    • char tab = '\t'; : Cela déclare une variable nommée tab et lui assigne le caractère tabulation. \t est une séquence d'échappement représentant une tabulation.
    • char newline = '\n'; : Cela déclare une variable nommée newline et lui assigne le caractère saut de ligne. \n est une séquence d'échappement représentant un saut de ligne.
    • char letter = 'a'; : Cela déclare une variable nommée letter et lui assigne le caractère 'a'.
    • char digit = '1'; : Cela déclare une variable nommée digit et lui assigne le caractère '1'.
    • Character.isWhitespace(space) : C'est là que nous appelons la méthode isWhitespace(). Nous lui passons le caractère space, et elle retournera true si le caractère est un espace blanc, et false sinon. Nous faisons de même pour les autres caractères.
    • System.out.println(...) : Nous utilisons println pour afficher le résultat de l'appel de la méthode isWhitespace() avec un message descriptif.
  7. Enregistrez le fichier WhitespaceChecker.java (Ctrl+S ou Cmd+S).

Maintenant que nous avons écrit le code, nous devons le compiler et l'exécuter pour voir la sortie.

  1. Ouvrez le terminal en bas du WebIDE. Assurez-vous d'être dans le répertoire ~/project.

  2. Compilez le programme Java en utilisant la commande javac :

    javac WhitespaceChecker.java

    S'il n'y a pas d'erreurs, cette commande créera un fichier WhitespaceChecker.class dans le répertoire ~/project.

  3. Exécutez le programme Java compilé en utilisant la commande java :

    java WhitespaceChecker

    Vous devriez voir une sortie similaire à celle-ci :

    Is ' ' whitespace? true
    Is '	' whitespace? true
    Is '
    ' whitespace? true
    Is 'a' whitespace? false
    Is '1' whitespace? false

    Cette sortie montre que la méthode isWhitespace() a correctement identifié les caractères espace, tabulation et saut de ligne comme des espaces blancs, et les caractères lettre et chiffre comme des non-espaces blancs.

Vous avez utilisé avec succès la méthode Character.isWhitespace() pour vérifier différents caractères. Dans l'étape suivante, nous testerons cette méthode avec plus d'exemples, y compris différents types d'espaces blancs.

Test avec des espaces et des tabulations

Dans l'étape précédente, nous avons utilisé Character.isWhitespace() avec un seul espace et un seul caractère de tabulation. Dans cette étape, nous allons tester davantage la méthode avec des chaînes de caractères contenant plusieurs espaces et tabulations pour voir comment elle se comporte.

N'oubliez pas que Character.isWhitespace() fonctionne sur des caractères individuels, pas sur des chaînes entières. Pour vérifier si une chaîne ne contient que des espaces blancs, ou pour traiter les espaces blancs dans une chaîne, vous devriez généralement parcourir la chaîne caractère par caractère et appliquer la méthode isWhitespace() à chacun d'eux.

Modifions notre fichier WhitespaceChecker.java pour inclure des tests avec plusieurs espaces et tabulations.

  1. Ouvrez le fichier WhitespaceChecker.java dans l'éditeur du WebIDE.

  2. Remplacez le code existant par le code mis à jour suivant :

    public class WhitespaceChecker {
        public static void main(String[] args) {
            char space = ' ';
            char tab = '\t';
            char newline = '\n';
            char letter = 'a';
            char digit = '1';
    
            System.out.println("Is '" + space + "' whitespace? " + Character.isWhitespace(space));
            System.out.println("Is '" + tab + "' whitespace? " + Character.isWhitespace(tab));
            System.out.println("Is '" + newline + "' whitespace? " + Character.isWhitespace(newline));
            System.out.println("Is '" + letter + "' whitespace? " + Character.isWhitespace(letter));
            System.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit));
    
            System.out.println("\nTesting with multiple characters:");
    
            String testString1 = "   "; // Three spaces
            String testString2 = "\t\t"; // Two tabs
            String testString3 = "  \t  "; // Spaces and tabs
            String testString4 = "Hello World"; // Contains space, but also letters
    
            System.out.println("Checking characters in: \"" + testString1 + "\"");
            for (int i = 0; i < testString1.length(); i++) {
                char c = testString1.charAt(i);
                System.out.println("  Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));
            }
    
            System.out.println("Checking characters in: \"" + testString2 + "\"");
            for (int i = 0; i < testString2.length(); i++) {
                char c = testString2.charAt(i);
                 System.out.println("  Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));
            }
    
            System.out.println("Checking characters in: \"" + testString3 + "\"");
            for (int i = 0; i < testString3.length(); i++) {
                char c = testString3.charAt(i);
                 System.out.println("  Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));
            }
    
             System.out.println("Checking characters in: \"" + testString4 + "\"");
            for (int i = 0; i < testString4.length(); i++) {
                char c = testString4.charAt(i);
                 System.out.println("  Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));
            }
        }
    }

    Voici une analyse du nouveau code :

    • String testString1 = " "; : Nous créons une chaîne avec trois caractères d'espace.
    • String testString2 = "\t\t"; : Nous créons une chaîne avec deux caractères de tabulation.
    • String testString3 = " \t "; : Nous créons une chaîne avec un mélange d'espaces et de tabulations.
    • String testString4 = "Hello World"; : Nous créons une chaîne avec des lettres et un espace.
    • for (int i = 0; i < testString1.length(); i++) : Il s'agit d'une boucle for qui parcourt chaque caractère de la chaîne.
    • char c = testString1.charAt(i); : À l'intérieur de la boucle, charAt(i) récupère le caractère à l'index actuel i et le stocke dans la variable c.
    • System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c)); : Cette ligne affiche si le caractère actuel c est un espace blanc en utilisant Character.isWhitespace(c). La partie (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) est un opérateur ternaire utilisé pour afficher une représentation visible des caractères d'espace et de tabulation dans la sortie.
  3. Enregistrez le fichier WhitespaceChecker.java.

Maintenant, compilons et exécutons le programme mis à jour.

  1. Ouvrez le terminal en bas du WebIDE. Assurez-vous d'être dans le répertoire ~/project.

  2. Compilez le programme Java :

    javac WhitespaceChecker.java
  3. Exécutez le programme Java compilé :

    java WhitespaceChecker

    Vous devriez voir une sortie similaire à celle-ci, y compris les résultats pour chaque caractère dans les chaînes de test :

    Is ' ' whitespace? true
    Is '	' whitespace? true
    Is '
    ' whitespace? true
    Is 'a' whitespace? false
    Is '1' whitespace? false
    
    Testing with multiple characters:
    Checking characters in: "   "
      Is ' ' whitespace? true
      Is ' ' whitespace? true
      Is ' ' whitespace? true
    Checking characters in: "		"
      Is '\t' whitespace? true
      Is '\t' whitespace? true
    Checking characters in: "  	  "
      Is ' ' whitespace? true
      Is ' ' whitespace? true
      Is '\t' whitespace? true
      Is ' ' whitespace? true
      Is ' ' whitespace? true
    Checking characters in: "Hello World"
      Is 'H' whitespace? false
      Is 'e' whitespace? false
      Is 'l' whitespace? false
      Is 'l' whitespace? false
      Is 'o' whitespace? false
      Is ' ' whitespace? true
      Is 'W' whitespace? false
      Is 'o' whitespace? false
      Is 'r' whitespace? false
      Is 'l' whitespace? false
      Is 'd' whitespace? false

    Cette sortie confirme que Character.isWhitespace() identifie correctement les caractères d'espace et de tabulation individuels dans les chaînes, même lorsqu'ils apparaissent consécutivement ou mélangés avec d'autres caractères.

Vous avez testé avec succès Character.isWhitespace() avec des chaînes contenant plusieurs espaces et tabulations en parcourant les caractères. Dans l'étape suivante, nous verrons comment la méthode gère les caractères non blancs.

Gérer les caractères non blancs

Dans les étapes précédentes, nous nous sommes concentrés sur l'identification des caractères d'espace blanc en utilisant Character.isWhitespace(). Maintenant, démontrons explicitement comment la méthode gère les caractères qui ne sont pas considérés comme des espaces blancs. Cela renforcera votre compréhension de ce que la méthode identifie et ne identifie pas.

Bien que nous ayons déjà inclus certains caractères non blancs dans les exemples précédents (comme 'a' et '1'), ajoutons quelques exemples plus diversifiés à notre fichier WhitespaceChecker.java.

  1. Ouvrez le fichier WhitespaceChecker.java dans l'éditeur du WebIDE.

  2. Ajoutez les lignes de code suivantes dans la méthode main, après les instructions System.out.println existantes mais avant les boucles qui parcourent les chaînes. Vous pouvez les ajouter après la ligne System.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit));.

            char punctuation = '.';
            char symbol = '$';
            char controlChar = '\u0000'; // Null character
    
            System.out.println("Is '" + punctuation + "' whitespace? " + Character.isWhitespace(punctuation));
            System.out.println("Is '" + symbol + "' whitespace? " + Character.isWhitespace(symbol));
            System.out.println("Is U+0000 whitespace? " + Character.isWhitespace(controlChar)); // Printing control chars might not display correctly

    Examinons les nouveaux caractères que nous avons ajoutés :

    • char punctuation = '.'; : Un signe de ponctuation.
    • char symbol = '$'; : Un caractère symbole.
    • char controlChar = '\u0000'; : Il s'agit d'une séquence d'échappement Unicode pour le caractère nul, qui est un caractère de contrôle. Character.isWhitespace() vérifie également certains caractères de contrôle considérés comme des espaces blancs selon la norme Unicode.
  3. Enregistrez le fichier WhitespaceChecker.java.

Maintenant, compilons et exécutons le programme mis à jour pour voir la sortie pour ces nouveaux caractères.

  1. Ouvrez le terminal en bas du WebIDE. Assurez-vous d'être dans le répertoire ~/project.

  2. Compilez le programme Java :

    javac WhitespaceChecker.java
  3. Exécutez le programme Java compilé :

    java WhitespaceChecker

    Vous devriez voir une sortie similaire à celle-ci, y compris les résultats pour les nouveaux caractères :

    Is ' ' whitespace? true
    Is '	' whitespace? true
    Is '
    ' whitespace? true
    Is 'a' whitespace? false
    Is '1' whitespace? false
    Is '.' whitespace? false
    Is '$' whitespace? false
    Is U+0000 whitespace? false
    
    Testing with multiple characters:
    Checking characters in: "   "
      Is ' ' whitespace? true
      Is ' ' whitespace? true
      Is ' ' whitespace? true
    Checking characters in: "		"
      Is '\t' whitespace? true
      Is '\t' whitespace? true
    Checking characters in: "  	  "
      Is ' ' whitespace? true
      Is ' ' whitespace? true
      Is '\t' whitespace? true
      Is ' ' whitespace? true
      Is ' ' whitespace? true
    Checking characters in: "Hello World"
      Is 'H' whitespace? false
      Is 'e' whitespace? false
      Is 'l' whitespace? false
      Is 'l' whitespace? false
      Is 'o' whitespace? false
      Is ' ' whitespace? true
      Is 'W' whitespace? false
      Is 'o' whitespace? false
      Is 'r' whitespace? false
      Is 'l' whitespace? false
      Is 'd' whitespace? false

    Comme vous pouvez le voir dans la sortie, le signe de ponctuation ('.') et le symbole ('$') sont correctement identifiés comme non blancs. Le caractère nul (\u0000) est également identifié comme non blanc par Character.isWhitespace(). Cette méthode vérifie spécifiquement les caractères définis comme des espaces blancs dans la norme Unicode, qui incluent l'espace, la tabulation, le saut de ligne, le retour chariot, la formule alimentée (\f), et certains autres caractères de contrôle et séparateurs d'espace.

Vous avez maintenant vu comment Character.isWhitespace() se comporte avec différents types de caractères, y compris les espaces blancs standard et les caractères non blancs tels que la ponctuation, les symboles et les caractères de contrôle. Cela termine notre exploration de la méthode Character.isWhitespace().

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier si un caractère est un espace blanc en Java en utilisant la méthode Character.isWhitespace(). Nous avons exploré comment cette méthode identifie les caractères d'espace blanc courants tels que les espaces, les tabulations et les sauts de ligne.

Nous avons pratiqué l'utilisation de la méthode Character.isWhitespace() en créant un simple programme Java qui a testé différents caractères, y compris les espaces, les tabulations et les caractères non blancs tels que les lettres et les chiffres, pour voir s'ils étaient classés comme des espaces blancs. Cette activité pratique a démontré l'application pratique de la méthode pour identifier et gérer les espaces blancs dans le code Java.