Wie man prüft, ob ein Zeichen in Java ein Leerzeichen ist

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


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{{"Wie man prüft, ob ein Zeichen in Java ein Leerzeichen ist"}} java/operators -.-> lab-559939{{"Wie man prüft, ob ein Zeichen in Java ein Leerzeichen ist"}} java/for_loop -.-> lab-559939{{"Wie man prüft, ob ein Zeichen in Java ein Leerzeichen ist"}} java/strings -.-> lab-559939{{"Wie man prüft, ob ein Zeichen in Java ein Leerzeichen ist"}} java/object_methods -.-> lab-559939{{"Wie man prüft, ob ein Zeichen in Java ein Leerzeichen ist"}} end

Verwendung der 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.

  1. Öffnen Sie die WebIDE, wenn sie noch nicht geöffnet ist.

  2. Stellen Sie im Dateiexplorer links sicher, dass Sie sich im Verzeichnis ~/project befinden.

  3. Klicken Sie mit der rechten Maustaste in den leeren Bereich des Verzeichnisses ~/project und wählen Sie "Neue Datei".

  4. Benennen Sie die neue Datei WhitespaceChecker.java.

  5. Öffnen Sie die Datei WhitespaceChecker.java im Editor.

  6. 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 namens space vom Typ char und weist ihr das Leerzeichen zu.
    • char tab = '\t';: Dies deklariert eine Variable namens tab und weist ihr das Tabulatorzeichen zu. \t ist eine Escape-Sequenz, die ein Tabulatorzeichen darstellt.
    • char newline = '\n';: Dies deklariert eine Variable namens newline und weist ihr das Zeilenumbruchzeichen zu. \n ist eine Escape-Sequenz, die einen Zeilenumbruch darstellt.
    • char letter = 'a';: Dies deklariert eine Variable namens letter und weist ihr das Zeichen 'a' zu.
    • char digit = '1';: Dies deklariert eine Variable namens digit und weist ihr das Zeichen '1' zu.
    • Character.isWhitespace(space): Hier rufen wir die Methode isWhitespace() auf. Wir übergeben ihr das space-Zeichen, und sie gibt true zurück, wenn das Zeichen ein Leerzeichen ist, und false sonst. Wir tun dasselbe für die anderen Zeichen.
    • System.out.println(...): Wir verwenden println, um das Ergebnis des Aufrufs der Methode isWhitespace() zusammen mit einer beschreibenden Nachricht auszugeben.
  7. 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.

  1. Öffnen Sie das Terminal unten in der WebIDE. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project befinden.

  2. Kompilieren Sie das Java-Programm mit dem Befehl javac:

    javac WhitespaceChecker.java

    Wenn keine Fehler auftreten, erstellt dieser Befehl eine Datei WhitespaceChecker.class im Verzeichnis ~/project.

  3. Führen Sie das kompilierte Java-Programm mit dem Befehl java aus:

    java WhitespaceChecker

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

    Diese 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.

Test 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.

  1. Öffnen Sie die Datei WhitespaceChecker.java im WebIDE-Editor.

  2. 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 eine for-Schleife, die jedes Zeichen des Strings durchläuft.
    • char c = testString1.charAt(i);: Innerhalb der Schleife ruft charAt(i) das Zeichen am aktuellen Index i ab und speichert es in der Variable c.
    • System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));: Diese Zeile gibt aus, ob das aktuelle Zeichen c ein Leerzeichen ist, indem sie Character.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.
  3. Speichern Sie die Datei WhitespaceChecker.java.

Jetzt lassen Sie uns das aktualisierte Programm kompilieren und ausführen.

  1. Öffnen Sie das Terminal unten in der WebIDE. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project befinden.

  2. Kompilieren Sie das Java-Programm:

    javac WhitespaceChecker.java
  3. Führen Sie das kompilierte Java-Programm aus:

    java WhitespaceChecker

    Sie 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? false

    Diese 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.

Umgang mit Nicht-Leerzeichen

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.

  1. Öffnen Sie die Datei WhitespaceChecker.java im WebIDE-Editor.

  2. Fügen Sie die folgenden Codezeilen innerhalb der main-Methode hinzu, nachdem die vorhandenen System.out.println-Anweisungen ausgeführt wurden, aber bevor die Schleifen beginnen, die die Strings durchlaufen. Sie können sie nach der Zeile System.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 correctly

    Schauen 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.
  3. 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.

  1. Öffnen Sie das Terminal unten in der WebIDE. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project befinden.

  2. Kompilieren Sie das Java-Programm:

    javac WhitespaceChecker.java
  3. Führen Sie das kompilierte Java-Programm aus:

    java WhitespaceChecker

    Sie 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? false

    Wie Sie aus der Ausgabe sehen können, werden das Satzzeichen ('.') und das Symbol ('$') korrekt als Nicht-Leerzeichen identifiziert. Auch das Nullzeichen (\u0000) wird von Character.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.