if statement can be used to
compute absolute values:
if ( value < 0 ) abs = -value; else abs = value;
This is awkward for such a simple idea. The following does the same thing in one statement:
abs = (value < 0 )
This statement uses a conditional operator.
The right side of the
= is a conditional expression.
The expression is evaluated to produce a value,
which is then assigned to the variable,
The conditional operator is used in an expression.
It asks for
a value to be computed but does not by itself change any variable.
In the example, the variable
value is not changed.
Usually, an assignment operator is used to make a change.
double value = -34.569; double abs; abs = (value < 0 )
:value ; ------------- ------ 1. condition 2. this is evaluated, is true to +34.569 ---- 3. The +34.569 is assigned to abs
The conditional operator is used like this:
Here is how it works:
:and the end .
int a = 7, b = 21;
What is the value of:
a > b
(Even though it looks funny, the entire expression stands for a single value.)