If-Else Absoluter Wert



zur vorherigen Seite  
zum Inhaltsverzeichnis  
zur nächsten Seite

Antwort:

  • Was ist der absolute Wert von -9?
    • +9
  • Was ist der absolute Wert von +9?
    • +9

IfElse 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:

  1. >Die true-or-false-Bedingung wird zu true oder false ausgewertet.
  2. Dieser Wert wählt eine der Möglichkeiten aus:
    • Wenn die true-or-false-Bedingung true ist,
      dann wird der Ausdruck zwischen dem Fragezeichen
      ? und dem Doppelpunkt : ausgewertet.
    • Wenn die true-or-false-Bedingung false ist,
      dann wird der Ausdruck zwischen dem Doppelpunkt : und dem Semikolon
      ; ausgewertet.

Frage 2:

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.)