CodeGym /Kurse /JAVA 25 SELF /Zeichenketten und Text: der Typ String, Arbeit mit Zeiche...

Zeichenketten und Text: der Typ String, Arbeit mit Zeichenketten

JAVA 25 SELF
Level 2 , Lektion 2
Verfügbar

1. Den Typ String genauer betrachten

Der Typ String ist einer der am häufigsten verwendeten Typen in Java – vielleicht sogar der am meisten verwendete. Er ist großartig, denn in solchen Variablen kann man Text speichern. Und außerdem haben Objekte des Typs String im Gegensatz zu den Typen int und double eine Menge verschiedener Funktionen, mit deren Hilfe man allerlei interessante Dinge tun kann.

Außerdem können alle Objekte in Java (wirklich alle) in den Typ String umgewandelt werden. Oder, korrekter gesagt, alle Objekte in Java geben ihre textuelle (Zeichenketten-)Darstellung zurück. Wir werden zu diesem Typ noch oft zurückkehren (er ist sehr nützlich und interessant), heute lernen wir jedoch zunächst seine Grundlagen kennen.

Variablen des Typs String erstellen

Der Typ String ist zum Speichern von Zeichenketten (Text) gedacht. Um im Code eine Variable zu erstellen, die Text speichern kann, verwenden Sie den Befehl:

String name;
Erstellen einer Variablen des Typs String

Wobei name der Name der Variablen ist.

Beispiele:

Anweisung Beschreibung
String name;
Die Zeichenkettenvariable name wird erstellt
String message;
Die Zeichenkettenvariable message wird erstellt
String text;
Die Zeichenkettenvariable text wird erstellt

Wie bei den Typen int und double kann man eine Kurzschreibweise verwenden, um mehrere Variablen des Typs String zu erstellen:

String name1, name2, name3;
Erstellen von Variablen des Typs String

2. Zuweisung von Werten zu Variablen des Typs String

Um einer Variablen des Typs String einen Wert zuzuweisen, verwenden Sie den Befehl:

name = "Wert";
Zuweisung eines Werts zu einer Variablen des Typs String

Hier zeigt sich der erste Unterschied zu den bereits behandelten Typen. Alle Werte des Typs String stellen Textzeichenketten dar und müssen in doppelte Anführungszeichen gesetzt werden.

Beispiele:

Anweisung Hinweis
String name = "Anja";
Die Variable name enthält den Text Anja
String city = "New York";
Die Variable city enthält den Text New York
String message = "Hello!";
Die Variable message enthält den Text Hello!

3. Initialisierung von Variablen des Typs String

Wie bei den Typen int und double können Variablen des Typs String direkt bei der Erstellung initialisiert werden. Das kann man übrigens mit allen Typen in Java machen. Daher werden wir darauf nicht weiter eingehen.

String name1 = "Wert1", name2 = "Wert2", name3 = "Wert3";
Kurzform für das Erstellen und Initialisieren von Variablen
String name = "Anja", city = "New York", message = "Hello!";
Beispiel für den Befehl zum Erstellen und Initialisieren von Variablen

Nur initialisierte Variablen dürfen verwendet werden

Der Java-Compiler meldet einen Fehler, wenn Sie eine Variable ohne zugewiesenen Wert deklarieren und versuchen, sie zu verwenden.

Solcher Code funktioniert nicht:

String name;
System.out.println(name); // Die Variable name ist nicht initialisiert. Das Programm wird nicht kompiliert.
int a;
a++; // Die Variable a ist nicht initialisiert. Das Programm wird nicht kompiliert.
double x;
double y = x; // Die Variable x ist nicht initialisiert. Das Programm wird nicht kompiliert.

4. Konkatenation – Zeichenketten zusammenfügen

Es gibt etwas sehr Interessantes und Einfaches, das man mit Zeichenketten in Java tun kann – man kann sie zusammenfügen. Dieser Vorgang heißt Konkatenation. Oder, damit es sich leichter merkt – „Kon‑ka‑te‑na‑tion“ 😆. Oft sagt man auch „Zeichenketten zusammenkleben“ oder einfach „Strings addieren“.

Um zwei Zeichenketten zu verknüpfen, verwendet man das Zeichen +. Das ist ganz einfach:

"Zeichenkette1" + "Zeichenkette2"
Konkatenation zweier Zeichenketten

Beispiele:

Anweisung Hinweis
String name = "Anja" + "Anja";
name enthält die Zeichenkette AnjaAnja
String city = "New York" + "Anja";
city enthält die Zeichenkette New YorkAnja
String message = "Hello! " + "Anja";
message enthält die Zeichenkette Hello! Anja

Und natürlich kann man gleichzeitig viele Zeichenketten zusammenfügen sowie Zeichenketten und Variablen kombinieren.

String name = "Anja";                // name enthält die Zeichenkette Anja
String city = "New York";           // city enthält die Zeichenkette New York
String message = "Hello!" + city + name + city; // message enthält die Zeichenkette Hello!New YorkAnjaNew York

5. Leere Zeichenketten

Im letzten Beispiel sieht man, dass der Text in der Variablen message schwer zu lesen ist, da Leerzeichen fehlen. Um ein Leerzeichen oder mehrere zu setzen, schreibt man sie einfach in den Code und setzt sie in doppelte Anführungszeichen. Das ist einfacher, als es scheint:

" "
Zeichenkette, die ein Leerzeichen enthält

Übrigens: Lässt man zwischen den Anführungszeichen gar nichts (man schreibt zwei doppelte Anführungszeichen direkt hintereinander), erhält man eine sogenannte „leere Zeichenkette“:

""
Leere Zeichenkette

Einerseits existiert sie, andererseits wird bei ihrer Ausgabe nichts angezeigt. Und beim Zusammenfügen mit anderen Zeichenketten passiert nichts. Eine Art Analogon der Null – nur für Zeichenketten.

6. Escaping von Sonderzeichen in Zeichenketten

Sie wissen bereits, dass Zeichenketten von doppelten Anführungszeichen eingerahmt werden. Aber was tun, wenn man Anführungszeichen in eine Zeichenkette einfügen möchte? Wenn wir Anführungszeichen in der Zeichenkette schreiben, hält der Compiler sie dann nicht für das Ende der Zeichenkette?

Genau. Das wird er. Deshalb ersetzt man Anführungszeichen innerhalb des Texts durch das Paar Zeichen \". Und der Code sieht dann so aus:

String quote = "Er sagte: \"Guten Tag!\"";
System.out.println(quote); // Er sagte: "Guten Tag!"

Tatsächlich ist es noch etwas raffinierter. Das Zeichen \ gilt innerhalb von Zeichenketten als spezielles (Steuer-)Zeichen. Damit kann man verschiedene „nicht druckbare Zeichen“ wie Zeilenumbruch, Tabulator usw. angeben. Und um das Zeichen \ selbst anzugeben, schreibt man es zweimal.

Hier sind die 4 gebräuchlichsten Kombinationen:

Schreibweise Bedeutung
\n Zeilenumbruch (newline)
\t Tabulator (Einzug)
\\ Buchstäblich \
\" Anführungszeichen innerhalb einer Zeichenkette

Beispiel:

String multiline = "Zeile 1\nZeile 2";
System.out.println(multiline);

Ausgabe:

Zeile 1
Zeile 2

7. Eigene Funktionen von Zeichenketten

Der Typ String hat eigene Funktionen (auch Methoden genannt). Es gibt sehr viele davon, und sie erleichtern Programmierenden das Leben. Heute lernen Sie einige der einfachsten kennen. Beispiel:

Funktion Beschreibung Beispielergebnis
str.length()
Länge der Zeichenkette
"abc".length() → 3
str.toUpperCase()
In Großbuchstaben
"abc".toUpperCase() → "ABC"
str.toLowerCase()
In Kleinbuchstaben
"ABC".toLowerCase() → "abc"
str.trim()
Leerzeichen an den Rändern entfernen
"  x y  ".trim() → "x y"

Beispiele für die Arbeit mit String-Funktionen

Alle diese Funktionen ruft man so auf: variable.methode(...).

Die Länge einer Zeichenkette ermitteln:

String name = "Andrej";
int length = name.length();
System.out.println(length); // 6, da 6 Buchstaben

Eine Zeichenkette in Groß- oder Kleinschreibung umwandeln:

String original = "Hallo";
System.out.println(original.toUpperCase()); // HALLO
System.out.println(original.toLowerCase()); // hallo

Leerzeichen an den Rändern entfernen (sehr nützlich bei der Eingabe über die Tastatur):

String messy = "   hello   ";
System.out.println(messy.trim()); // "hello"

Jede dieser Funktionen gibt eine neue Zeichenkette zurück, die alte Zeichenkette ändert sich nicht.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION