Lernpfad:Würfelspiel in Java/Mit Strings arbeiten
Zeichenketten in Java
Im Gegensatz zu den Primitiven Datentypen wie byte
,
int
oder boolean
sind Zeichenketten in Java Objekte der
Klasse String. Das bedeutete, dass jeder
String Methoden besitzt, die auf ihm aufgerufen werden können.
String einText = "Hello, World!";
einText.length() // 13
einText.toUpperCase() // HELLO, WORLD!
einText.isEmpty() // false
Hinweis Auf einem int
können zum Beispiel keine Methoden aufgerufen werden, da Integer zunächst keine Objekte sind. Die Java Klassenbibliothek enthält aber auch für diese primitiven Datentypen eigene Klassen. Zum Beispiel die Klasse Integer. Sie enthält unter anderem hilfreiche Klassenmethoden
zum Umgang mit Integern.
Strings formatieren
Zeichenketten müssen in Programmen sehr häufig zur Laufzeit des Programms aus variablen Inhalten zusammengesetzt werden. Am Ende des Würfelspiels könnte man zum Beispiel die Nachricht "Spieler 1 hat gewonnen" bzw. "Spieler 2 hat gewonnen" anzeigen lassen. Die Nummer des Spielers ist hier variabel, je nachdem, welcher Spieler gewonnen hat. Noch schöner wäre es, wenn zusätzlich der Name des Spielers angezeigt würde.
Um mit solchen Situationen umzugehen haben sich Zeichenketten mit besonderen Formatierungszeichen und die format-Methode etabliert. Für obige Situation könnte der String wie folgt aussehen:
String botschaft = "Spieler %d (%s) hat gewonnen";
Die Formatierungszeichen beginnen jeweils mit einem %
. Das Zeichen %d
steht für decimal number, das Zeichen %s
für String. An Stelle des ersten Platzhalters soll also eine Dezimalzahl, an Stelle des Zweiten eine Zeichenkette eingesetzt werden.
Mittels format
kann man nun beliebige Werte einsetzen:
String.format(botschaft, 1, "Hannes"); // Spieler 1 (Hannes) hat gewonnen
String.format(botschaft, 2, "Johanna"); // Spieler 2 (Johanna) hat gewonnen
String.format(botschaft, 300, "Susanna"); // Spieler 300 (Susanna) hat gewonnen