Kurzformen

Aus EINI
Version vom 19. Februar 2016, 01:52 Uhr von Hauer (Diskussion | Beiträge) (Ternärer Ausdruck)

Wechseln zu: Navigation, Suche

In der Vergangenheit war es recht üblich auch den Quellcode eines Programmes möglichst klein zu halten, da man große Dateien vermeiden wollte und beim Übersetzungsvorgang nur sehr wenige KiloByte an Arbeitsspeicher zur Verfügung hatte, um das Programm zur Übersetzung zu analysieren. Aus diesem Grunde, und weil Programmierer einfach gerne ein paar Zeichen weniger tippen wollen, haben sich in vielen Programmiersprachen, auch in Java, verschiedene 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 auch kürzer zu formulieren ist auch folgene Notation legitim:

a += 5;

Das selbe gilt für alle anderen Grundoperationen, also insgesamt für: Addition, Subtraktion, Multiplikation, Division und Modulo.

+=
-=
=
/=
%=

Ternärer Ausdruck

Der ternäre Ausdruck ist ein sehr kurz formulierter if ... then ... else ... Ausdruck und besitzt in Abhängigkeit einer Bedingung einen von zwei Werten, die beide den gleichen Typ haben müssen und zur Laufzeit an der Position des Ausdrucks aufgelöst werden.

Ein Ternärer Ausdruck wird folgendermaßen notiert:

BEDINGUNG ? WERT : WERT

Mit der Intention: 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 ungerne 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 printTwoDidgits(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
}