a = b ? c : d;
Ternary Operator
Ternary operator is a compact conditional assignment.
It serves to set a value of a variable depending on a boolean expression or a boolean variable.
The expression above is same as:
if ( b ) {
a = c;
} else {
a = d;
}
The a, c and d variables must be of the same data type (or type of c and d must be convertible to type of a using automatic conversion). The b variable is boolean.
b, c or d do not have to be variables.
They may be constants or expressions. a has to be a variable.
For example, you can use a ternary operator to assign minimum of c and d into a in a compact way:
a = c < d ? c : d;