8.581
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Navigation | {{Navigation}} | ||
== Zeichenketten in Java == | == Zeichenketten in Java == | ||
Im Gegensatz zu den [[wikipedia:Primitive Datentypen| | Im Gegensatz zu den [[wikipedia:Primitive Datentypen|primitiven Datentypen]] wie <code>byte</code>, | ||
<code>int</code> oder <code>boolean</code> sind Zeichenketten in Java Objekte der | <code>int</code> oder <code>boolean</code> sind Zeichenketten in Java Objekte der | ||
[https://docs.oracle.com/javase/8/docs/api/java/lang/String.html Klasse String]. Das bedeutete, dass jeder | [https://docs.oracle.com/javase/8/docs/api/java/lang/String.html Klasse String]. Das bedeutete, dass jeder | ||
Zeile 14: | Zeile 14: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{ | {{Info:Start}} | ||
'''Hinweis''' Auf einem <code>int</code> können zum Beispiel keine Methoden aufgerufen werden, da Integer | '''Hinweis''' Auf einem <code>int</code> 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'' | zunächst keine Objekte sind. Die Java Klassenbibliothek enthält aber auch für diese ''primitiven Datentypen'' | ||
eigene Klassen. | eigene Klassen. Etwa die Klasse {{Java API|java.lang.Integer}}. Sie enthält hilfreiche Klassenmethoden zum Umgang mit Integern. | ||
Sie enthält | {{Info:End}} | ||
{{ | |||
<!--- | |||
Da Strings Objekte sind, kann es bei ihrer Verwendung zu unerwarteten Fehlern kommen. Ein häufiges Problem ist der | Da Strings Objekte sind, kann es bei ihrer Verwendung zu unerwarteten Fehlern kommen. Ein häufiges Problem ist der | ||
Vergleich von Strings: | Vergleich von Strings: | ||
Zeile 34: | Zeile 34: | ||
Im Gegensatz zur Erwartung wird <code>Die Strings sind unterschiedlich.</code> ausgegeben. Der Operator <code>==</code> | Im Gegensatz zur Erwartung wird <code>Die Strings sind unterschiedlich.</code> ausgegeben. Der Operator <code>==</code> | ||
vergleicht bei Objekten die Objektidentität, also | vergleicht bei Objekten die Objektidentität, also ob es sich um dasselbe Objekt handelt. Oben werden zwei Objekte der Klasse | ||
String mit | String mit dem gleichen Inhalt <code>Test</code> erzeugt. Da es sich aber um unterschiedliche Objekte handelt, ergibt der Vergleich | ||
<code>false</code>. | <code>false</code>. | ||
Zeile 48: | Zeile 48: | ||
Jetzt ist die Ausgabe wie erwartet <code>Die Strings sind gleich.</code>. | Jetzt ist die Ausgabe wie erwartet <code>Die Strings sind gleich.</code>. | ||
---> | |||
== Zeichenketten formatieren == | == Zeichenketten formatieren == | ||
Zeichenketten müssen in Programmen | Zeichenketten müssen in Programmen regelmäßig zur Laufzeit des Programms aus variablen Inhalten zusammengesetzt | ||
werden. Am Ende des Würfelspiels könnte man | werden. Am Ende des Würfelspiels könnte man beispielsweise 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. | 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. | 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 | Um mit solchen Situationen umzugehen, haben sich Zeichenketten mit besonderen Formatierungszeichen und die {{Java API|java.lang.String|format-java.lang.String-java.lang.Object...-|format-Methode}} etabliert. Für obige Situation könnte der String wie folgt aussehen: | ||
etabliert. Für obige Situation könnte der String wie folgt aussehen: | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
Zeile 64: | Zeile 62: | ||
Die Formatierungszeichen beginnen jeweils mit einem <code>%</code>. Das Zeichen <code>%d</code> steht für '''''d'''ecimal | Die Formatierungszeichen beginnen jeweils mit einem <code>%</code>. Das Zeichen <code>%d</code> steht für '''''d'''ecimal | ||
number'', das Zeichen <code>%s</code> für '''''S'''tring''. An Stelle des ersten Platzhalters soll also eine Zahl (in diesem Fall | number'', das Zeichen <code>%s</code> für '''''S'''tring''. An Stelle des ersten Platzhalters soll also eine Zahl (in diesem Fall eine Ganzzahl), an Stelle des Zweiten eine Zeichenkette eingesetzt werden. Mittels <code>format</code> kann man nun | ||
eine Ganzzahl), an Stelle des Zweiten eine Zeichenkette eingesetzt werden. Mittels <code>format</code> kann man nun | |||
beliebige Werte einfügen: | beliebige Werte einfügen: | ||
Bearbeitungen