English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java-Programmflüsse

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Eingabe-/Ausgabemodul (I/O)

Java Reader/Writer

Andere Themen von Java

Java Zeichenkette (String)

In diesem Tutorial werden wir mit Beispielen lernen, wie man in Java String erstellt und seine verschiedenen Methoden verwendet.

 In Java sind Strings eine Reihe von Zeichen. Zum Beispiel ist "hello" eine Zeichenkette, die die Zeichenkette "h", "e", "l", "l" und "o" enthält.

Anders als in anderen Programmiersprachen sind Strings in Java keine Basistypen (z.B. int, char usw.). Stattdessen sind alle Strings Objekte der vorgegebenen Klasse String. Zum Beispiel,

//Erstellen Sie eine Zeichenkette
String type = "java programming";

Hier haben wir eine Zeichenkette namens type erstellt. Hier haben wir die Zeichenkette mit "java programming" initialisiert. In Java verwenden wirDoppelte AnführungszeichenDarstellt eine Zeichenkette dar.

Diese Zeichenkette ist eine Instanz der String-Klasse.

Beachtung:Alle Zeichenkettenvariablen sind Instanzen der String-Klasse.

Java Zeichenkettenmethoden

Java String bietet verschiedene Methoden, mit denen wir verschiedene Zeichenkettenoperationen ausführen können. Hier sind einige häufig verwendete Zeichenkettenmethoden.

MethodeBeschreibung
concat()Verbindet zwei Strings
equals()Vergleicht die Werte der beiden Strings
charAt()Gibt das Zeichen an der angegebenen Position zurück
getBytes()Konvertiert den String in ein Byte-Array
indexOf()Gibt die Position des angegebenen Zeichens im String zurück
length()Gibt die Größe des angegebenen Strings zurück
replace()Ersetzt den angegebenen alten Buchstaben durch den angegebenen neuen Buchstaben
substring()Gibt den Unterstring des Strings zurück
split()Teilt den String in ein String-Array auf
toLowerCase()wandeln Sie den String in Kleinbuchstaben um
toUpperCase()wandeln Sie den String in Großbuchstaben um
valueOf()Gibt die Zeichenkette der angegebenen Daten zurück

Lassen Sie uns einige Beispiele nennen.

Beispiel1:Java sucht nach der Länge des Strings

class Main {
  public static void main(String[] args) {
    //Zeichenfolge erstellen
    String greet = "Hello! World";
    System.out.println("Der String ist: "); + greet);
    //prüft die Länge des Strings
    System.out.println("Die Länge des Strings: "); + greet.length());
  }
}

Ausgabenergebnis

Der String ist: Hello! World
Die Länge des Strings: 12

Im obigen Beispiel haben wir eine Zeichenfolge namens greet erstellt. Hier haben wir die length()-Methode verwendet, um die Größe der Zeichenfolge zu erhalten.

Beispiel2:Java verwendet concat() zur Verknüpfung von zwei Zeichenfolgen

class Main {
  public static void main(String[] args) {
    //Zeichenfolge erstellen
    String greet = "Hello! ";
    System.out.println("Erste Zeichenfolge: ") + greet);
    String name = "World";
    System.out.println("Zweite Zeichenfolge: ") + name);
    //Verknüpfen Sie zwei Zeichenfolgen
    String joinedString = greet.concat(name);
    System.out.println("Verknüpfte Zeichenfolge: ") + joinedString);
  }
}

Ausgabenergebnis

Erste Zeichenfolge: Hello!
Zweite Zeichenfolge: World
Verknüpfte Zeichenfolge: Hello! World

Im obigen Beispiel haben wir2Zeichenfolgen namens greet und name.

Hier haben wir die concat()-Methode verwendet, um Zeichenfolgen zu verknüpfen. Daher erhalten wir eine neue Zeichenfolge namens joinedString.

In Java können wir auch + Operator, um zwei Zeichenfolgen zu verbinden.

Beispiel3:Verwenden Sie+Operator zur Verknüpfung von Zeichenfolgen in Java

class Main {
  public static void main(String[] args) {
    //Zeichenfolge erstellen
    String greet = "Hello! ";
    System.out.println("Erste Zeichenfolge: ") + greet);
    String name = "World";
    System.out.println("Zweite Zeichenfolge: ") + name);
    //Verknüpfen Sie zwei Zeichenfolgen
    String joinedString = greet + name;
    System.out.println("Verknüpfte Zeichenfolge: ") + joinedString);
  }
}

Ausgabenergebnis

Erste Zeichenfolge: Hello!
Zweite Zeichenfolge: World
Verknüpfte Zeichenfolge: Hello! World

Hier haben wir+Operator, um zwei Zeichenfolgen zu verbinden.

Beispiel4:Java vergleicht zwei Zeichenfolgen

class Main {
  public static void main(String[] args) {
    //Erstellen Sie die Zeichenfolge s
    String first = "java programming";
    String second = "java programming";
    String third = "python programming";
    //Vergleichen Sie die erste Zeichenfolge mit der zweiten
    boolean result1 = first.equals(second);
    System.out.println("Die ersten und zweiten Zeichenfolgen sind gleich: ") + result1);
    //Vergleichen Sie die erste und die dritte Zeichenfolge
    boolean result2 = first.equals(third);
    System.out.println("Die ersten und dritten Zeichenfolgen sind gleich: ") + result2);
  }
}

Ausgabenergebnis

Die ersten und zweiten Zeichenfolgen sind gleich: true
Die ersten und dritten Zeichenfolgen sind nicht gleich: false

Im obigen Beispiel haben wir die equals()-Methode verwendet, um den Wert der beiden Zeichenfolgen zu vergleichen.

wenn zwei Zeichenfolgen identisch sind, gibt diese Methode true zurück, andernfalls gibt sie false zurück.

Beachtung:Wir können auch den ==-Berechnungsoperator und die compareTo()-Methode verwenden, um zu vergleichen2ein String.}

Beispiel5: Java Zeichen aus einem String auslesen

class Main {
  public static void main(String[] args) {
    //erstellen Sie einen String, indem Sie den Stringliterals verwenden
    String greet = "Hello! World";
    System.out.println("Der String ist: "); + greet);
    //geben Sie die Position zurück3an der Stelle: Zeichen
    System.out.println("Position3an der Stelle: " + greet.charAt(3));
    //geben Sie die Position zurück7an der Stelle: Zeichen
    System.out.println("Position7an der Stelle: " + greet.charAt(7));
  }
}

Ausgabenergebnis

Der String ist: Hello! World
Position3an der Stelle: l
Position7an der Stelle: W

Im obigen Beispiel haben wir die Methode charAt() verwendet, um Zeichen an einer bestimmten Position abzurufen.

Beispiel6: Andere Methoden von Java Strings

class Main {
  public static void main(String[] args) {
    //erstellen Sie einen String, indem Sie das neue Schlüsselwort verwenden
    String example = new String("Hello! World");
    //geben Sie den Unterstring 'World' zurück
    System.out.println("Verwenden Sie subString(): "); + example.substring(7));
    //wandeln Sie den String in Kleinbuchstaben um
    System.out.println("Verwenden Sie toLowerCase(): "); + example.toLowerCase());
    //wandeln Sie den String in Großbuchstaben um
    System.out.println("Verwenden Sie toUpperCase(): "); + example.toUpperCase());
    //ersetzen Sie das Zeichen '!' durch 'o'
    System.out.println("Verwenden Sie replace(): "); + example.replace('!', 'o'));
  }
}

Ausgabenergebnis

Verwenden Sie subString(): World
Verwenden Sie toLowerCase(): hello! world
Verwenden Sie toUpperCase(): HELLO! WORLD
Verwenden Sie replace(): Helloo World

Im obigen Beispiel haben wir einen String mit dem Namen example erstellt, indem wir den neuen Schlüsselwort verwendet haben.

Hier,

  • Die Methode substring() gibt den String 'World' zurück

  • Die Methode toLowerCase() wandelt einen String in Kleinbuchstaben um

  • Die Methode toUpperCase() wandelt einen String in Großbuchstaben um

  • Methode replace() ersetzt das Zeichen '!' durch 'o'.

Escape-Zeichen in der Zeichenfolge

Java-Zeichenfolgen verwendenDoppelte Anführungszeichendarstellen möchten.

//Zeichenfolge erstellen
String example = "This is a string";

Wenn wir in der ZeichenfolgeDoppelte Anführungszeichen。 Zum Beispiel,

//Zeichenfolgen enthalten doppelte Anführungszeichen
String example = "This is the "String" class";

Dies verursacht einen Fehler. Dies liegt daran, dassDoppelte Anführungszeichenverwenden, um Zeichenfolgen darzustellen. Daher wird der Compiler "This is the " als Zeichenfolge interpretiert.

Um dieses Problem zu lösen, werden in Java Escape-Zeichen (\) verwendet. Jetzt können wir in der ZeichenfolgeDoppelte Anführungszeichen,wie folgt:

//Verwenden Sie Escape-Zeichen
String example = "This is the \"String\" class.";

Escape-Zeichen informieren den Compiler, dass sie zu entkommen.Doppelte Anführungszeichenund lesen Sie den gesamten Text.

Java-Zeichenfolgen sind unveränderlich

In Java bedeutet die Erstellung einer Zeichenfolge, ein Objekt der Klasse string zu erstellen.Man kann Zeichenfolgen in Java nicht ändern, wenn man sie erstellt.Das ist der Grund, warum Zeichenfolgen in JavaUnveränderlichGrund.

Um es besser zu verstehen, schauen wir uns ein Beispiel an:

//Zeichenfolge erstellen
String example = "Hello!";

Hier erstellen wir ein Zeichenfolgenobjekt "Hello!". Nach der Erstellung können wir es nicht ändern.

Nun nehmen wir an, dass wir die Zeichenfolge ändern möchten.

//Fügen Sie eine weitere Zeichenfolge zu dieser hinzu
example = example.concat(" World");

Hier versuchen wir, eine neue Zeichenfolge zu einer vorherigen hinzuzufügen.

Da Zeichenfolgen sindUnveränderlich,das sollte einen Fehler verursachen. Aber das ist in Ordnung.

Schaut so aus, als ob wir die Zeichenfolge ändern könnten. Aber das ist nicht der Fall. Lassen Sie uns sehen, was hier tatsächlich passiert.

Wir haben eine Zeichenfolge "Hello!", die durch die Variable example referenziert wird. Jetzt, wenn wir den obigen Code ausführen,

  • Die JVM akzeptiert die Zeichenfolge "Hello!"

  • Fügen Sie der Zeichenfolge " World" hinzu

  • Dies erstellt eine neue Zeichenfolge "Hello! World"

  • Die Variable example verweist jetzt auf die neue Zeichenfolge

  • Die vorherige Zeichenfolge "Hello!" bleibt unverändert

Beachtung:Jedes Mal, wenn wir eine neue Zeichenfolge erstellen und sie durch eine Variable referenzieren.

Zeichenfolgen mit dem Schlüsselwort new erstellen

Bislang haben wir in Java Zeichenfolgen ähnlich wie grundlegende Typen erstellt. Aber da Zeichenfolgen in Java Objekte sind, können wir sie auch mit dem Schlüsselwort new erstellen. Zum Beispiel,

//Erstellung von Strings mit dem Schlüsselwort new
String name = new String("java string");

Im obigen Beispiel wurde der Schlüsselwort new und der Konstruktor String() verwendet, um einen String zu erstellen.

Die Klasse String bietet verschiedene andere Konstruktoren, um Strings zu erstellen.

Lassen Sie uns nun sehen, wie der Prozess der Erstellung von Strings im Vergleich zum letzten Prozess unterschiedlich ist.

Unterschiede zwischen der Verwendung von String-Literalen und dem Schlüsselwort new

Jetzt, da wir wissen, wie man Strings mit String-Literalen und dem Schlüsselwort new erstellt haben, lassen wir uns ansehen, was die Hauptunterschiede zwischen ihnen sind.

 In Java verwaltet die JVM einen String-Pool, um alle Strings im Speicher zu speichern. Der String-Pool hilft bei der Wiederverwendung von Strings.

 Wenn Strings mit String-Literalen erstellt werden, wird der Wert des Strings direkt bereitgestellt. Daher überprüft der Compiler zunächst den String-Pool, ob der String bereits existiert.

  • wenn der String bereits existiertwird kein neuer String erstellt. Stattdessen verweist die neue Referenz auf den bestehenden String.

  • wenn der String nicht existiertdann wird ein neuer String erstellt.

 Aber wenn der Schlüsselwort new zur Erstellung von Strings verwendet wird, wird der Wert der String nicht direkt bereitgestellt. Daher wird immer ein neuer String erstellt.