Einführung
In diesem Lab lernen Sie, wie Sie in Java überprüfen können, ob ein Zeichen ein Leerzeichen ist, indem Sie die Methode Character.isWhitespace() verwenden. Sie werden untersuchen, wie diese Methode verschiedene Leerzeichen identifiziert, einschließlich Leerzeichen, Tabulatoren, Zeilenumbrüche und Wagenrückläufe.
Durch praktische Übungen werden Sie die Methode mit verschiedenen Zeichen testen, darunter Leerzeichen, Tabulatoren und Nicht-Leerzeichen wie Buchstaben und Ziffern, um ihr Verhalten und seine praktische Anwendung in der Java-Programmierung zu verstehen.
Verwenden Sie die Methode Character.isWhitespace()
In diesem Schritt werden wir untersuchen, wie man die Methode Character.isWhitespace() in Java verwendet. Diese Methode ist Teil der Character-Klasse und wird verwendet, um festzustellen, ob ein gegebenes Zeichen ein Leerzeichen ist. Leerzeichen umfassen Leerzeichen, Tabulatoren, Zeilenumbrüche und Wagenrückläufe.
Das Verständnis, wie man Leerzeichen identifiziert, ist in vielen Programmieraufgaben nützlich, wie z. B. beim Parsen von Text, der Validierung von Eingaben oder der Formatierung von Ausgaben.
Lassen Sie uns eine neue Java-Datei erstellen, um mit dieser Methode zu experimentieren.
Öffnen Sie die WebIDE, wenn sie noch nicht geöffnet ist.
Stellen Sie im Dateiexplorer links sicher, dass Sie sich im Verzeichnis
~/projectbefinden.Klicken Sie mit der rechten Maustaste in den leeren Bereich des Verzeichnisses
~/projectund wählen Sie "Neue Datei".Benennen Sie die neue Datei
WhitespaceChecker.java.Öffnen Sie die Datei
WhitespaceChecker.javaim Editor.Kopieren und fügen Sie den folgenden Java-Code in den Editor ein:
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)); } }Schauen wir uns die neuen Teile dieses Codes an:
char space = ' ';: Dies deklariert eine Variable namensspacevom Typcharund weist ihr das Leerzeichen zu.char tab = '\t';: Dies deklariert eine Variable namenstabund weist ihr das Tabulatorzeichen zu.\tist eine Escape-Sequenz, die ein Tabulatorzeichen darstellt.char newline = '\n';: Dies deklariert eine Variable namensnewlineund weist ihr das Zeilenumbruchzeichen zu.\nist eine Escape-Sequenz, die einen Zeilenumbruch darstellt.char letter = 'a';: Dies deklariert eine Variable namensletterund weist ihr das Zeichen 'a' zu.char digit = '1';: Dies deklariert eine Variable namensdigitund weist ihr das Zeichen '1' zu.Character.isWhitespace(space): Hier rufen wir die MethodeisWhitespace()auf. Wir übergeben ihr dasspace-Zeichen, und sie gibttruezurück, wenn das Zeichen ein Leerzeichen ist, undfalsesonst. Wir tun dasselbe für die anderen Zeichen.System.out.println(...): Wir verwendenprintln, um das Ergebnis des Aufrufs der MethodeisWhitespace()zusammen mit einer beschreibenden Nachricht auszugeben.
Speichern Sie die Datei
WhitespaceChecker.java(Strg+S oder Cmd+S).
Nachdem wir den Code geschrieben haben, müssen wir ihn kompilieren und ausführen, um die Ausgabe zu sehen.
Öffnen Sie das Terminal unten in der WebIDE. Stellen Sie sicher, dass Sie sich im Verzeichnis
~/projectbefinden.Kompilieren Sie das Java-Programm mit dem Befehl
javac:javac WhitespaceChecker.javaWenn keine Fehler auftreten, erstellt dieser Befehl eine Datei
WhitespaceChecker.classim Verzeichnis~/project.Führen Sie das kompilierte Java-Programm mit dem Befehl
javaaus:java WhitespaceCheckerSie sollten eine Ausgabe ähnlich der folgenden sehen:
Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Is 'a' whitespace? false Is '1' whitespace? falseDiese Ausgabe zeigt, dass die Methode
isWhitespace()die Leerzeichen, Tabulatoren und Zeilenumbrüche korrekt als Leerzeichen identifiziert hat und die Buchstaben- und Ziffernzeichen als Nicht-Leerzeichen.
Sie haben die Methode Character.isWhitespace() erfolgreich verwendet, um verschiedene Zeichen zu überprüfen. Im nächsten Schritt werden wir diese Methode mit weiteren Beispielen testen, einschließlich verschiedener Arten von Leerzeichen.
Testen mit Leerzeichen und Tabulatoren
Im vorherigen Schritt haben wir die Methode Character.isWhitespace() mit einem einzelnen Leerzeichen und einem einzelnen Tabulatorzeichen verwendet. In diesem Schritt werden wir die Methode weiter testen, indem wir Strings mit mehreren Leerzeichen und Tabulatoren verwenden, um zu sehen, wie sie sich verhält.
Denken Sie daran, dass Character.isWhitespace() auf einzelne Zeichen arbeitet, nicht auf ganze Strings. Um zu überprüfen, ob ein String nur aus Leerzeichen besteht oder um Leerzeichen innerhalb eines Strings zu verarbeiten, würden Sie normalerweise den String Zeichen für Zeichen durchlaufen und die Methode isWhitespace() auf jedes Zeichen anwenden.
Lassen Sie uns die Datei WhitespaceChecker.java ändern, um Tests mit mehreren Leerzeichen und Tabulatoren einzubeziehen.
Öffnen Sie die Datei
WhitespaceChecker.javaim WebIDE-Editor.Ersetzen Sie den vorhandenen Code durch den folgenden aktualisierten Code:
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)); } } }Hier ist eine Zusammenfassung des neuen Codes:
String testString1 = " ";: Wir erstellen einen String mit drei Leerzeichen.String testString2 = "\t\t";: Wir erstellen einen String mit zwei Tabulatorzeichen.String testString3 = " \t ";: Wir erstellen einen String mit einer Mischung aus Leerzeichen und Tabulatoren.String testString4 = "Hello World";: Wir erstellen einen String mit Buchstaben und einem Leerzeichen.for (int i = 0; i < testString1.length(); i++): Dies ist einefor-Schleife, die jedes Zeichen des Strings durchläuft.char c = testString1.charAt(i);: Innerhalb der Schleife ruftcharAt(i)das Zeichen am aktuellen Indexiab und speichert es in der Variablec.System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));: Diese Zeile gibt aus, ob das aktuelle Zeichencein Leerzeichen ist, indem sieCharacter.isWhitespace(c)verwendet. Der Teil(c == ' ' ? " " : (c == '\t' ? "\\t" : c))ist ein ternärer Operator, der verwendet wird, um eine sichtbare Darstellung für Leerzeichen und Tabulatorzeichen in der Ausgabe zu drucken.
Speichern Sie die Datei
WhitespaceChecker.java.
Jetzt lassen Sie uns das aktualisierte Programm kompilieren und ausführen.
Öffnen Sie das Terminal unten in der WebIDE. Stellen Sie sicher, dass Sie sich im Verzeichnis
~/projectbefinden.Kompilieren Sie das Java-Programm:
javac WhitespaceChecker.javaFühren Sie das kompilierte Java-Programm aus:
java WhitespaceCheckerSie sollten eine Ausgabe ähnlich der folgenden sehen, einschließlich der Ergebnisse für jedes Zeichen in den Test-Strings:
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? falseDiese Ausgabe bestätigt, dass
Character.isWhitespace()einzelne Leerzeichen und Tabulatorzeichen innerhalb von Strings korrekt identifiziert, auch wenn sie hintereinander oder gemischt mit anderen Zeichen auftreten.
Sie haben die Methode Character.isWhitespace() erfolgreich mit Strings getestet, die mehrere Leerzeichen und Tabulatoren enthalten, indem Sie die Zeichen durchlaufen haben. Im nächsten Schritt werden wir untersuchen, wie die Methode Nicht-Leerzeichen behandelt.
Behandlung von Nicht-Leerzeichen-Zeichen
In den vorherigen Schritten haben wir uns darauf konzentriert, Leerzeichen mithilfe der Methode Character.isWhitespace() zu identifizieren. Jetzt wollen wir explizit zeigen, wie die Methode mit Zeichen umgeht, die nicht als Leerzeichen gelten. Dies wird Ihr Verständnis dafür verstärken, was die Methode identifiziert und was nicht.
Obwohl wir in den vorherigen Beispielen bereits einige Nicht-Leerzeichen (wie 'a' und '1') einbezogen haben, fügen wir unserer Datei WhitespaceChecker.java ein paar weitere verschiedene Beispiele hinzu.
Öffnen Sie die Datei
WhitespaceChecker.javaim WebIDE-Editor.Fügen Sie die folgenden Codezeilen innerhalb der
main-Methode hinzu, nachdem die vorhandenenSystem.out.println-Anweisungen ausgeführt wurden, aber bevor die Schleifen beginnen, die die Strings durchlaufen. Sie können sie nach der ZeileSystem.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit));hinzufügen.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 correctlySchauen wir uns die neuen Zeichen an, die wir hinzugefügt haben:
char punctuation = '.';: Ein Satzzeichen.char symbol = '$';: Ein Symbolzeichen.char controlChar = '\u0000';: Dies ist eine Unicode-Escape-Sequenz für das Nullzeichen, das ein Steuerzeichen ist.Character.isWhitespace()prüft auch bestimmte Steuerzeichen, die vom Unicode-Standard als Leerzeichen gelten.
Speichern Sie die Datei
WhitespaceChecker.java.
Jetzt lassen Sie uns das aktualisierte Programm kompilieren und ausführen, um die Ausgabe für diese neuen Zeichen zu sehen.
Öffnen Sie das Terminal unten in der WebIDE. Stellen Sie sicher, dass Sie sich im Verzeichnis
~/projectbefinden.Kompilieren Sie das Java-Programm:
javac WhitespaceChecker.javaFühren Sie das kompilierte Java-Programm aus:
java WhitespaceCheckerSie sollten eine Ausgabe ähnlich der folgenden sehen, einschließlich der Ergebnisse für die neuen Zeichen:
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? falseWie Sie aus der Ausgabe sehen können, werden das Satzzeichen ('.') und das Symbol ('$') korrekt als Nicht-Leerzeichen identifiziert. Auch das Nullzeichen (
\u0000) wird vonCharacter.isWhitespace()als Nicht-Leerzeichen erkannt. Diese Methode prüft speziell auf Zeichen, die im Unicode-Standard als Leerzeichen definiert sind, darunter Leerzeichen, Tabulatoren, Zeilenumbrüche, Wagenrückläufe, Seitenvorschübe (\f) sowie bestimmte andere Steuerzeichen und Leerzeichentrennzeichen.
Sie haben nun gesehen, wie sich Character.isWhitespace() mit verschiedenen Zeichentypen verhält, einschließlich Standard-Leerzeichen und Nicht-Leerzeichen wie Satzzeichen, Symbolen und Steuerzeichen. Damit ist unsere Untersuchung der Methode Character.isWhitespace() abgeschlossen.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man in Java überprüft, ob ein Zeichen ein Leerzeichen ist, indem man die Methode Character.isWhitespace() verwendet. Wir haben untersucht, wie diese Methode übliche Leerzeichen wie Leerzeichen, Tabulatoren und Zeilenumbrüche identifiziert.
Wir haben die Verwendung der Methode Character.isWhitespace() geübt, indem wir ein einfaches Java-Programm erstellt haben, das verschiedene Zeichen getestet hat, darunter Leerzeichen, Tabulatoren und Nicht-Leerzeichen wie Buchstaben und Ziffern, um zu sehen, ob sie als Leerzeichen klassifiziert werden. Diese praktische Übung hat die praktische Anwendung der Methode zur Identifizierung und Verarbeitung von Leerzeichen in Java-Code gezeigt.



