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.
Utiliser 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.
Ouvrez le WebIDE s'il n'est pas déjà ouvert.
Dans l'explorateur de fichiers à gauche, assurez-vous d'être dans le répertoire
~/project.Cliquez avec le bouton droit dans l'espace vide du répertoire
~/projectet sélectionnez "Nouveau fichier".Nommez le nouveau fichier
WhitespaceChecker.java.Ouvrez le fichier
WhitespaceChecker.javadans l'éditeur.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éespacede typecharet lui assigne le caractère espace.char tab = '\t';: Cela déclare une variable nomméetabet lui assigne le caractère tabulation.\test une séquence d'échappement représentant une tabulation.char newline = '\n';: Cela déclare une variable nomméenewlineet lui assigne le caractère saut de ligne.\nest une séquence d'échappement représentant un saut de ligne.char letter = 'a';: Cela déclare une variable nomméeletteret lui assigne le caractère 'a'.char digit = '1';: Cela déclare une variable nomméedigitet lui assigne le caractère '1'.Character.isWhitespace(space): C'est là que nous appelons la méthodeisWhitespace(). Nous lui passons le caractèrespace, et elle retourneratruesi le caractère est un espace blanc, etfalsesinon. Nous faisons de même pour les autres caractères.System.out.println(...): Nous utilisonsprintlnpour afficher le résultat de l'appel de la méthodeisWhitespace()avec un message descriptif.
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.
Ouvrez le terminal en bas du WebIDE. Assurez-vous d'être dans le répertoire
~/project.Compilez le programme Java en utilisant la commande
javac:javac WhitespaceChecker.javaS'il n'y a pas d'erreurs, cette commande créera un fichier
WhitespaceChecker.classdans le répertoire~/project.Exécutez le programme Java compilé en utilisant la commande
java:java WhitespaceCheckerVous devriez voir une sortie similaire à celle-ci :
Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Is 'a' whitespace? false Is '1' whitespace? falseCette 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.
Tester 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.
Ouvrez le fichier
WhitespaceChecker.javadans l'éditeur du WebIDE.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 boucleforqui 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 actueliet le stocke dans la variablec.System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));: Cette ligne affiche si le caractère actuelcest un espace blanc en utilisantCharacter.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.
Enregistrez le fichier
WhitespaceChecker.java.
Maintenant, compilons et exécutons le programme mis à jour.
Ouvrez le terminal en bas du WebIDE. Assurez-vous d'être dans le répertoire
~/project.Compilez le programme Java :
javac WhitespaceChecker.javaExécutez le programme Java compilé :
java WhitespaceCheckerVous 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? falseCette 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 espaces 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.
Ouvrez le fichier
WhitespaceChecker.javadans l'éditeur du WebIDE.Ajoutez les lignes de code suivantes dans la méthode
main, après les instructionsSystem.out.printlnexistantes mais avant les boucles qui parcourent les chaînes. Vous pouvez les ajouter après la ligneSystem.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 correctlyExaminons 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.
Enregistrez le fichier
WhitespaceChecker.java.
Maintenant, compilons et exécutons le programme mis à jour pour voir la sortie pour ces nouveaux caractères.
Ouvrez le terminal en bas du WebIDE. Assurez-vous d'être dans le répertoire
~/project.Compilez le programme Java :
javac WhitespaceChecker.javaExécutez le programme Java compilé :
java WhitespaceCheckerVous 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? falseComme 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 parCharacter.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.



