If
-Else
Absoluter Wert
Eine if
-Anweisung kann verwendet werden
um einen absoluten Wert zu berechnen:
if ( wert < 0 ) abs = -wert; else abs = wert;
Das ist umständlich für so eine kleine Sache. Die folgende Anweisung macht das gleiche in einer Zeile:
abs = (wert < 0 ) ? -wert : wert ;
Diese Anweisung verwendet einen konditionalen Operator.
Die rechte Seite des Gleichheitszeichens = ist ein konditionaler Ausdruck.
Der Ausdruck wird ausgewertet um einen Wert zu ermitteln,
der dann der Variablen abs
zugewiesen wird.
Hier ist ein Beispiel:
double wert = -34.569;
double abs;
abs = wert < 0 ) ? -wert : wert ;
------------- ------
1. Bedingung 2. Das wird ausgewertet
ist true zu +34.569
----
3. Der Wert +34.569 wir der Variablen abs
zugewiesen.
Der konditionale Operator wird wie folgt verwendet:
true-or-false-Bedingung ? wert-if-true : wert-if-false;
Hier ist wie es funktioniert:
true
oder false
ausgewertet.true
ist,
dann wird der Ausdruck zwischen dem Fragezeichen
?
und dem Doppelpunkt :
ausgewertet.
false
ist,
dann wird der Ausdruck zwischen dem Doppelpunkt :
und dem Semikolon
;
ausgewertet.
Gegeben:
int a = 7, b = 21;
Was ist der Wert von:
a > b ? a : b
(Denkt daran, dass der gesamte Ausdruck nur zu einem einzigen Wert ausgewertet wird.)