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;
Wobei name der Name der Variablen ist.
Beispiele:
| Anweisung | Beschreibung |
|---|---|
|
Die Zeichenkettenvariable name wird erstellt |
|
Die Zeichenkettenvariable message wird erstellt |
|
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;
2. Zuweisung von Werten zu Variablen des Typs String
Um einer Variablen des Typs String einen Wert zuzuweisen, verwenden Sie den Befehl:
name = "Wert";
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 |
|---|---|
|
Die Variable name enthält den Text Anja |
|
Die Variable city enthält den Text New York |
|
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";
String name = "Anja", city = "New York", message = "Hello!";
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"
Beispiele:
| Anweisung | Hinweis |
|---|---|
|
name enthält die Zeichenkette AnjaAnja |
|
city enthält die Zeichenkette New YorkAnja |
|
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:
" "
Ü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“:
""
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 |
|---|---|---|
|
Länge der Zeichenkette | |
|
In Großbuchstaben | |
|
In Kleinbuchstaben | |
|
Leerzeichen an den Rändern entfernen | |
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.
GO TO FULL VERSION