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
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.