Beim letzten Teil des Tutorials ging es um Schleifen. Wie dort erklärt, könnten diese genutzt werden, um den Nutzer bei unzulässigen Eingaben um eine erneute Eingabe zu bitten. Passend dazu möchte ich darum diesmal darauf eingehen, wie überhaupt Ausgaben und Nutzereingaben bei Java funktionieren.
Textausgaben
Das Konstrukt System.out.println(…); solltest du mittlerweile schon kennen. Der übergebene Parameter wird hiermit auf der Konsole ausgegeben. System.out.println(…); erzeugt mit jeder Ausgabe auch einen Zeilenumbruch. Das ist nicht immer gewünscht, weshalb es auch den Befehl System.out.print(…); gibt, welcher keinen Zeilenumbruch erzeugt. Bisher haben wir als Parameter nur Strings (Zeichenketten) oder primitive Datentypen übergeben. Tatsächlich können wir diese aber auch mit dem +-Operator kombinieren. So würde System.out.println(„Ein “ + „Text“); aus den beiden Strings einen neuen erzeugen und diesen dann ausgeben. Entsprechend würde System.out.println(„Ergebnis = “ + 6); zu der Ausgabe Ergebnis = 6 führen.
Es ist auch möglich, Rechnungen durchzuführen, wobei man hier etwas aufpassen muss, da das + nun zwei Bedeutungen haben kann: entweder soll addiert werden oder Dinge miteinander zu einem String kombiniert werden. Wenn innerhalb vom System.out.println(…); nur primitive Datentypen stehen, ist das + immer der ganz normale Additionsoperator. Sobald ein String auftaucht, wird ab dieser Stelle das + immer als Verkettungsoperator angesehen, außer wenn das + bei einer Rechnung in Klammern steht. Das klingt erst einmal kompliziert, sollte aber durch das folgende Beispiel klarer werden:
1
2
3
4
5
6
7
8
9
10
|
public class Textausgaben{
public static void main(String[] args){
System.out.println("Text" + 1 + 2);
System.out.println(1 + 2 + "Text");
System.out.println(1 + 2 + "Text" + 3 + 4);
System.out.println(1 + 2 + "Text" + (3 + 4));
System.out.println(1.5 + 'A');
System.out.println("Text" + 'A');
}
}
|
In Zeile 3 wird mit einem String begonnen, weshalb die folgenden + einfach nur alles verketten. Die Ausgabe ist darum Text12.
In Zeile 4 kommen zuerst primitive Datentypen. Das erste + addiert darum. Das nächste + verkettet dann das Ergebnis mit dem String, weshalb die Ausgabe 3Text lautet.
In Zeile 5 wird beides kombiniert. Das erste + addiert, die nächsten verketten aber wegen des Strings. Die Ausgabe lautet 3Text34.
Zeile 6 zeigt, dass durch Klammerung die Addition erzwungen werden kann. Die Ausgabe ist 3Text7.
In Zeile 7 ist zu sehen, dass auch andere primitive Datentypen als int genutzt werden können. Hier ist das Ergebnis 66.5, weil das char ‚A‘ als ein ASCII-Zahlenwert betrachtet wird (A hat die Nummer 65).
Zeile 8 zeigt zuletzt noch, dass ‚A‘ beim Verketten wie ein String behandelt wird. Die Ausgabe ist TextA.
Escape-Sequenzen
Manchmal möchte man in einem String bestimmte Dinge wie einen Zeilenumbruch oder einen Tabulator. Dafür gibt es Escape-Sequenzen, die mit einem Backslash beginnen. Nicht alle davon braucht man oft, es gibt zum Beispiel:
- \n steht für eine neue Zeile.
- \t steht für einen horizontalen Tabulator.
- \“ steht für ein doppeltes Anführungszeichen.
- \‘ steht für ein einfaches Anführungszeichen.
- \\ steht für einen Backslash.