Kurzformen: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) (→Ternärer Ausdruck) |
K (→Ternärer Ausdruck) |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | =Hintergrund= | |
+ | |||
+ | Früher war es recht üblich, den Quellcode eines Programmes möglichst klein zu halten, da für den [[Compiler|Übersetzungsvorgang]] nur ein paar [[Bit|Kilobyte]] an Arbeitsspeicher zur Verfügung standen. Deswegen und weil Programmierer gerne ein paar Zeichen weniger tippen, haben sich in vielen [[Programmiersprachen]], auch in '''[[Java]]''', diverse '''Kurzschreibweisen''' etabliert. | ||
= Abkürzende Notation in Java = | = Abkürzende Notation in Java = | ||
Zeile 5: | Zeile 7: | ||
== Zuweisungsoperatoren == | == Zuweisungsoperatoren == | ||
− | Um einer Variablen einen neuen Wert in Abhängigkeit ihres eigenen Wertes zu geben, würde man z.B. folgendes schreiben: | + | Um einer [[Variablen]] einen neuen Wert in Abhängigkeit ihres eigenen Wertes zu geben, würde man z.B. folgendes schreiben: |
<code>a = a + 5;</code> | <code>a = a + 5;</code> | ||
− | Dies addiert 5 auf den aktuellen Wert der Variablen <code>a</code> | + | Dies addiert 5 auf den aktuellen Wert der Variablen <code>a</code>. |
− | Um dies | + | Um dies kürzer zu formulieren ist auch folgende Notation legitim: |
<code>a += 5;</code> | <code>a += 5;</code> | ||
− | + | Dasselbe gilt für alle anderen [[Operator|Grundoperationen]], also insgesamt für: Addition, Subtraktion, Multiplikation, Division und Modulo. | |
<source lang="java"> | <source lang="java"> | ||
+= | += | ||
-= | -= | ||
− | = | + | *= |
/= | /= | ||
%= | %= | ||
Zeile 27: | Zeile 29: | ||
== Ternärer Ausdruck == | == Ternärer Ausdruck == | ||
− | Der ternäre Ausdruck ist ein sehr kurz formulierter <code>if ... then ... else ...</code> Ausdruck und besitzt in Abhängigkeit einer Bedingung einen von zwei Werten, die beide den gleichen Typ haben müssen | + | ===Erklärung=== |
+ | |||
+ | Der '''ternäre Ausdruck''' ist ein sehr kurz formulierter <code>if ... then ... else ...</code>-Ausdruck (also eine [[Alternative]]) und besitzt in Abhängigkeit einer Bedingung einen von zwei Werten, die beide den gleichen [[Datentyp|Typ]] haben müssen. | ||
− | Ein | + | Ein ternärer Ausdruck wird folgendermaßen notiert: |
<code> BEDINGUNG ? WERT : WERT </code> | <code> BEDINGUNG ? WERT : WERT </code> | ||
− | + | Die Intention lautet: Ist die Bedingung wahr, so soll der erste Wert verwendet werden, ist sie falsch, so soll der zweite Wert verwendet werden. | |
− | Da der | + | Da der ternäre Ausdruck Code schnell unleserlich macht, wird er ungern gesehen, kann aber an manchen Stellen im Quellcode zu mehr Übersicht führen. |
=== Beispiel === | === Beispiel === | ||
Zeile 42: | Zeile 46: | ||
<source lang="java"> | <source lang="java"> | ||
− | public static void | + | public static void printTwoDigits(int x){ |
int d = x % 100; //Extrahiert die letzten zwei Ziffern von x und speichert sie in d | int d = x % 100; //Extrahiert die letzten zwei Ziffern von x und speichert sie in d | ||
− | System.out.println( (d < 10 ? "0" : "") + d); //Ist d kleiner 10, so füge eine 0 vor d hinzu, sonst füge den leeren String, also nichts, hinzu | + | System.out.println( (d < 10 ? "0" : "") + d); //Ist d kleiner 10, so füge eine 0 vor d hinzu, sonst füge den leeren String, also nichts, hinzu. |
} | } | ||
</source> | </source> |
Aktuelle Version vom 26. Juli 2016, 15:31 Uhr
Inhaltsverzeichnis
Hintergrund
Früher war es recht üblich, den Quellcode eines Programmes möglichst klein zu halten, da für den Übersetzungsvorgang nur ein paar Kilobyte an Arbeitsspeicher zur Verfügung standen. Deswegen und weil Programmierer gerne ein paar Zeichen weniger tippen, haben sich in vielen Programmiersprachen, auch in Java, diverse Kurzschreibweisen etabliert.
Abkürzende Notation in Java
Zuweisungsoperatoren
Um einer Variablen einen neuen Wert in Abhängigkeit ihres eigenen Wertes zu geben, würde man z.B. folgendes schreiben:
a = a + 5;
Dies addiert 5 auf den aktuellen Wert der Variablen a
.
Um dies kürzer zu formulieren ist auch folgende Notation legitim:
a += 5;
Dasselbe gilt für alle anderen Grundoperationen, also insgesamt für: Addition, Subtraktion, Multiplikation, Division und Modulo.
+= -= *= /= %=
Ternärer Ausdruck
Erklärung
Der ternäre Ausdruck ist ein sehr kurz formulierter if ... then ... else ...
-Ausdruck (also eine Alternative) und besitzt in Abhängigkeit einer Bedingung einen von zwei Werten, die beide den gleichen Typ haben müssen.
Ein ternärer Ausdruck wird folgendermaßen notiert:
BEDINGUNG ? WERT : WERT
Die Intention lautet: Ist die Bedingung wahr, so soll der erste Wert verwendet werden, ist sie falsch, so soll der zweite Wert verwendet werden.
Da der ternäre Ausdruck Code schnell unleserlich macht, wird er ungern gesehen, kann aber an manchen Stellen im Quellcode zu mehr Übersicht führen.
Beispiel
Folgender Code gibt immer zwei Ziffern aus. Hat die auszugebende Zahl nur eine Ziffer, wird der Rest mit 0-en aufgefüllt:
public static void printTwoDigits(int x){ int d = x % 100; //Extrahiert die letzten zwei Ziffern von x und speichert sie in d System.out.println( (d < 10 ? "0" : "") + d); //Ist d kleiner 10, so füge eine 0 vor d hinzu, sonst füge den leeren String, also nichts, hinzu. }