Wie man prüft, ob ein String in Java nur aus Kleinbuchstaben besteht

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 prüfen können, ob ein String in Kleinbuchstaben geschrieben ist. Wir werden verschiedene Methoden untersuchen, um dies zu erreichen, beginnend mit dem Vergleichen von Strings unter Ignorieren der Groß- und Kleinschreibung mithilfe von toLowerCase() und equalsIgnoreCase().

Anschließend lernen Sie, wie Sie durch einen String iterieren und Character.isLowerCase() verwenden, um jedes Zeichen einzeln zu prüfen. Abschließend werden wir behandeln, wie Sie nicht-buchstabige Zeichen bei dieser Prüfung behandeln können.


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/for_loop("For Loop") java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/for_loop -.-> lab-559986{{"Wie man prüft, ob ein String in Java nur aus Kleinbuchstaben besteht"}} java/strings -.-> lab-559986{{"Wie man prüft, ob ein String in Java nur aus Kleinbuchstaben besteht"}} java/string_methods -.-> lab-559986{{"Wie man prüft, ob ein String in Java nur aus Kleinbuchstaben besteht"}} end

Strings mit toLowerCase() vergleichen

In diesem Schritt lernen wir, wie man in Java Strings vergleicht, ohne auf die Groß- und Kleinschreibung der Buchstaben zu achten. Dies ist eine häufige Aufgabe, wenn man prüfen möchte, ob zwei Strings gleich sind, unabhängig davon, ob sie Groß- oder Kleinbuchstaben verwenden.

Erstellen wir eine neue Java-Datei, um dies zu üben.

  1. Öffnen Sie die WebIDE, falls 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 Dateiexplorers, wählen Sie "Neue Datei" und benennen Sie sie CaseInsensitiveCompare.java.

  4. Öffnen Sie die Datei CaseInsensitiveCompare.java im Editor.

  5. Kopieren Sie den folgenden Code und fügen Sie ihn in den Editor ein:

    public class CaseInsensitiveCompare {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = "hello";
            String str3 = "World";
    
            // Comparing strings directly (case-sensitive)
            boolean areEqualCaseSensitive = str1.equals(str2);
            System.out.println("Case-sensitive comparison of \"" + str1 + "\" and \"" + str2 + "\": " + areEqualCaseSensitive);
    
            // Comparing strings ignoring case
            boolean areEqualCaseInsensitive = str1.equalsIgnoreCase(str2);
            System.out.println("Case-insensitive comparison of \"" + str1 + "\" and \"" + str2 + "\": " + areEqualCaseInsensitive);
    
            // Comparing str1 and str3 ignoring case
            boolean areEqualStr1Str3 = str1.equalsIgnoreCase(str3);
            System.out.println("Case-insensitive comparison of \"" + str1 + "\" and \"" + str3 + "\": " + areEqualStr1Str3);
        }
    }

    In diesem Code:

    • Wir deklarieren drei String-Variablen: str1, str2 und str3.
    • str1.equals(str2) führt einen Groß- und Kleinschreibung-sensitiven Vergleich durch. Es wird false zurückgeben, da "Hello" und "hello" aufgrund des Großbuchstabens 'H' unterschiedlich sind.
    • str1.equalsIgnoreCase(str2) führt einen Groß- und Kleinschreibung-insensitiven Vergleich durch. Es wird true zurückgeben, da "Hello" und "hello" gleich sind, wenn die Groß- und Kleinschreibung ignoriert wird.
    • Wir vergleichen auch str1 und str3 unter Ignorieren der Groß- und Kleinschreibung, um zu zeigen, dass unterschiedliche Wörter immer noch als unterschiedlich betrachtet werden.
  6. Speichern Sie die Datei (Strg+S oder Cmd+S).

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

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

    javac CaseInsensitiveCompare.java

    Wenn keine Fehler auftreten, sehen Sie keine Ausgabe. Eine Datei CaseInsensitiveCompare.class wird im Verzeichnis ~/project erstellt.

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

    java CaseInsensitiveCompare

    Sie sollten die folgende Ausgabe sehen:

    Case-sensitive comparison of "Hello" and "hello": false
    Case-insensitive comparison of "Hello" and "hello": true
    Case-insensitive comparison of "Hello" and "World": false

    Diese Ausgabe bestätigt, dass equals() Groß- und Kleinschreibung-sensitiv ist, während equalsIgnoreCase() die Groß- und Kleinschreibung ignoriert.

Das Verwenden von equalsIgnoreCase() ist eine bequeme Methode, um Strings zu vergleichen, ohne sich Gedanken darüber machen zu müssen, ob die Buchstaben groß oder klein geschrieben sind.

Verwendung von Character.isLowerCase() in einer Schleife

Im vorherigen Schritt haben wir gelernt, wie man ganze Strings unter Ignorieren der Groß- und Kleinschreibung vergleicht. Manchmal müssen Sie möglicherweise einzelne Zeichen in einem String untersuchen und prüfen, ob sie Klein- oder Großbuchstaben sind. Java bietet hierfür nützliche Methoden in der Character-Klasse.

In diesem Schritt werden wir die Methode Character.isLowerCase() in einer Schleife verwenden, um die Anzahl der Kleinbuchstaben in einem String zu zählen.

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

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

  3. Erstellen Sie eine neue Datei namens CountLowercase.java im Verzeichnis ~/project.

  4. Öffnen Sie die Datei CountLowercase.java im Editor.

  5. Kopieren Sie den folgenden Code und fügen Sie ihn in den Editor ein:

    public class CountLowercase {
        public static void main(String[] args) {
            String text = "Hello World 123!";
            int lowercaseCount = 0;
    
            // Loop through each character in the string
            for (int i = 0; i < text.length(); i++) {
                char character = text.charAt(i); // Get the character at the current index
    
                // Check if the character is a lowercase letter
                if (Character.isLowerCase(character)) {
                    lowercaseCount++; // Increment the counter if it's lowercase
                }
            }
    
            System.out.println("The string is: \"" + text + "\"");
            System.out.println("Number of lowercase letters: " + lowercaseCount);
        }
    }

    Lassen Sie uns diesen Code analysieren:

    • Wir haben eine String-Variable text, die eine Mischung aus Großbuchstaben, Kleinbuchstaben, Zahlen und Symbolen enthält.
    • Wir initialisieren eine Ganzzahlvariable lowercaseCount mit 0. Diese Variable speichert die Anzahl der Kleinbuchstaben.
    • Wir verwenden eine for-Schleife, um durch jedes Zeichen des Strings zu iterieren. Die Schleife läuft von Index 0 bis (aber nicht einschließlich) der Länge des Strings.
    • text.charAt(i) gibt das Zeichen am aktuellen Index i zurück.
    • Character.isLowerCase(character) ist eine Methode, die true zurückgibt, wenn das gegebene character ein Kleinbuchstabe ist, und false sonst.
    • Wenn Character.isLowerCase() true zurückgibt, erhöhen wir lowercaseCount.
    • Schließlich geben wir den ursprünglichen String und die Gesamtanzahl der Kleinbuchstaben aus.
  6. Speichern Sie die Datei (Strg+S oder Cmd+S).

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

  8. Kompilieren Sie das Java-Programm:

    javac CountLowercase.java

    Wenn die Kompilierung erfolgreich ist, wird eine Datei CountLowercase.class erstellt.

  9. Führen Sie das kompilierte Java-Programm aus:

    java CountLowercase

    Sie sollten die folgende Ausgabe sehen:

    The string is: "Hello World 123!"
    Number of lowercase letters: 8

    Die Ausgabe zeigt, dass es 8 Kleinbuchstaben im String "Hello World 123!" gibt ('e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd').

Das Verwenden von Character.isLowerCase() in einer Schleife ermöglicht es Ihnen, eine zeichenweise Analyse eines Strings durchzuführen, was für verschiedene Textverarbeitungstasks nützlich ist.

Ignorieren von Nicht-Buchstaben-Zeichen

Im vorherigen Schritt haben wir die Kleinbuchstaben gezählt. Allerdings können Strings verschiedene Zeichen wie Zahlen, Leerzeichen und Symbole enthalten. Beim Vergleichen von Strings oder der Analyse ihres Inhalts möchten Sie diese Nicht-Buchstaben-Zeichen oft ignorieren.

In diesem Schritt werden wir unser Programm so ändern, dass es nur Buchstabenzeichen verarbeitet und alles andere ignoriert. Hierfür verwenden wir die Methode Character.isLetter().

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

  2. Öffnen Sie die Datei CountLowercase.java, die Sie im vorherigen Schritt erstellt haben.

  3. Ändern Sie den Code, um eine Überprüfung hinzuzufügen, ob ein Zeichen ein Buchstabe ist, bevor Sie prüfen, ob es ein Kleinbuchstabe ist. Ersetzen Sie den vorhandenen Code durch den folgenden:

    public class CountLowercase {
        public static void main(String[] args) {
            String text = "Hello World 123!";
            int lowercaseCount = 0;
            StringBuilder lettersOnly = new StringBuilder(); // To store only letter characters
    
            // Loop through each character in the string
            for (int i = 0; i < text.length(); i++) {
                char character = text.charAt(i); // Get the character at the current index
    
                // Check if the character is a letter
                if (Character.isLetter(character)) {
                    lettersOnly.append(character); // Add the letter to our new string
    
                    // Check if the letter is lowercase
                    if (Character.isLowerCase(character)) {
                        lowercaseCount++; // Increment the counter if it's lowercase
                    }
                }
            }
    
            System.out.println("The original string is: \"" + text + "\"");
            System.out.println("Letters only string: \"" + lettersOnly.toString() + "\"");
            System.out.println("Number of lowercase letters (ignoring non-letters): " + lowercaseCount);
        }
    }

    Hier ist, was wir hinzugefügt und geändert haben:

    • Wir haben einen StringBuilder namens lettersOnly eingeführt. StringBuilder wird verwendet, um Strings effizient zu erstellen, insbesondere wenn Sie in einer Schleife Zeichen hinzufügen.
    • Innerhalb der Schleife haben wir eine if (Character.isLetter(character))-Bedingung hinzugefügt. Diese prüft, ob das aktuelle character ein Buchstabe ist (entweder Groß- oder Kleinbuchstabe).
    • Wenn das Zeichen ein Buchstabe ist, fügen wir es mit lettersOnly.append(character) dem lettersOnly-StringBuilder hinzu.
    • Die Überprüfung Character.isLowerCase(character) ist jetzt in die Character.isLetter()-Überprüfung verschachtelt, um sicherzustellen, dass wir nur Kleinbuchstaben unter den Zeichen zählen, die tatsächlich Buchstaben sind.
    • Schließlich geben wir den ursprünglichen String, den String, der nur Buchstaben enthält, und die Anzahl der Kleinbuchstaben unter diesen Buchstaben aus.
  4. Speichern Sie die Datei (Strg+S oder Cmd+S).

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

  6. Kompilieren Sie das geänderte Java-Programm:

    javac CountLowercase.java

    Stellen Sie sicher, dass keine Kompilierungsfehler auftreten.

  7. Führen Sie das kompilierte Java-Programm aus:

    java CountLowercase

    Sie sollten die folgende Ausgabe sehen:

    The original string is: "Hello World 123!"
    Letters only string: "HelloWorld"
    Number of lowercase letters (ignoring non-letters): 8

    Beachten Sie, dass der "Letters only string" jetzt nur "HelloWorld" enthält und die Anzahl der Kleinbuchstaben immer noch 8 ist, da wir nur Kleinbuchstaben unter den tatsächlichen Buchstaben zählen.

Das Verwenden von Character.isLetter() ist sehr nützlich, wenn Sie nicht-alphabetische Zeichen aus einem String filtern müssen, bevor Sie ihn weiter verarbeiten.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in Java prüft, ob ein String nur aus Kleinbuchstaben besteht. Wir haben zwei Hauptmethoden untersucht. Zunächst haben wir Strings mit equalsIgnoreCase() verglichen, um eine Groß- und Kleinschreibung ignorierende Vergleichsmethode anzuwenden. Dies hat gezeigt, wie man prüft, ob zwei Strings gleich sind, unabhängig von der Groß- oder Kleinschreibung der Buchstaben.

Zweitens, obwohl die vollständigen Details nicht angegeben wurden, deuten die Schritte darauf hin, dass wir lernen würden, wie man mithilfe einer Schleife durch einen String iteriert und Character.isLowerCase() verwendet, um zu prüfen, ob einzelne Zeichen Kleinbuchstaben sind. Dabei wurde auch berücksichtigt, wie man Nicht-Buchstaben-Zeichen während dieses Prozesses ignoriert.