Java includes a special ternary (three-way) operator that can replace certain types of if-then-else statements. This operator is the ?. It can seem somewhat confusing at first, but the ? can be used very effectively once mastered.

**The
? Operator**

Java
includes a special *ternary*
(three-way) *operator* that can replace
certain types of if-then-else statements. This operator is the **?**. It can seem somewhat confusing at
first, but the **?** can be used very
effectively once mastered. The **?** has
this general form:

*expression1 *?* expression2 *:* expression3*

Here, *expression1* can be any expression that
evaluates to a **boolean** value. If *expression1* is **true**, then** ***expression2*** **is evaluated; otherwise,** ***expression3*** **is evaluated. The result of the** ? **operation is that of the expression evaluated. Both *expression2* and *expression3* are required to return the same (or compatible) type,
which can’t be **void**.

Here is an example of the way
that the **?** is employed:

ratio = denom == 0 ? 0 : num / denom;

When Java evaluates this
assignment expression, it first looks at the expression to the *left* of the question mark. If **denom** equals zero, then the expression *between* the question mark and the colon
is evaluated and used as the value of the entire **?** expression. If **denom**
does not equal zero, then the expression *after*
the colon is evaluated and used for the value of the entire **?** expression. The result produced by
the **?** operator is then assigned to **ratio**.

Here is
a program that demonstrates the **?**
operator. It uses it to obtain the absolute value of a variable.

// Demonstrate ?. class
Ternary {

public static void main(String args[]) { int i,
k;

i = 10;

k = i < 0 ? -i : i; // get absolute value of i

System.out.print("Absolute value of ");
System.out.println(i + " is " + k);

i = -10;

k = i < 0 ? -i : i; // get absolute value of i

System.out.print("Absolute value of ");
System.out.println(i + " is " + k);

}

}

The output generated by the
program is shown here:

Absolute value of 10 is 10

Absolute value of -10 is 10

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail

Java The Complete Reference : The Java Language : Operators : The ? Operator - Java |

**Related Topics **

Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.