Ternärer Operator ( x = y == 0 ? 0 : 100)

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

Der einzige Operator in Java, der drei Variablen erwartet und ternärer Operator genannt wird, ist der Bedingungsoperator. Für den einen oder anderen könnte dieser Operator auch unter der Bezeichnung trinärer Operator bekannt sein. Seinen Ursprung hat er in der Programmiersprache C.
Er hat z.b. folgende Form:

int x = 0;
int y = 0;
// ein paar berechnungen mit x und y;
x = y  == 0 ? 0 : 100;

Er ist einfach die Kurzform für den folgenden Code:

int x = 0;
int y = 0;
// ein paar berechnungen mit x und y;
if(y == 0) {
  x = 0;
}
else {
  x = 100;
}

Die allgemeine Form ist somit:

x = BOOL_TEST ? TRUE_FALL : FALSE_FALL

D.h. ergibt der BOOL_TEST true so wird x der wert im TRUE_FALL zugewiesen, ansonsten der Wert im FALSE_FALL.

Der ternäre Operator ist reine Geschmackssache, manche nutzen ihn um weniger zu schreiben, manche finden ihn unübersichtlicher (v.a. dann wenn mehrere Abfragen geschachtelt werden)

Dies ist der Bedingungsoperator, der auch Konditionaloperator, ternärer Operator beziehungsweise trinärer Operator genannt wird.

-- bygones 10.08.2013