Conditional Operator in Java Programming
Decision Making in Java
In this lesson, we will understand what is Conditional Operator, and how to use it in Java programming.
Conditional Operator
Conditional Operator in Java return one value if the condition is true and returns another value if the condition is false. This operator is also called a Ternary Operator.
Conditional Operator Syntax
(condition) ? true_value : false_value;
In the above syntax, we will write our condition in place of the condition if the condition is true then the true value will execute and if the condition is false then the false value will execute.
Now let's see an example for more understanding.
Example
Java program to find the greatest number among two integer variable's value using the conditional operator.
public class Example
{
public static void main(String args[])
{
int a=10, b=5, c;
c=(a>b) ? a : b;
System.out.print("Greatest number is " + c);
}
}
Output
Greatest number is 10
Here you can see that the condition (a>b) is true so, the statement that is written just after the ? marks will execute and the value of a gets stored in c.
Nested Conditional Operator
Nested Conditional Operators are possible by including conditional expression as a second (after ?) or third part (after :) of the ternary operator.
Nested Conditional Operator Syntax
(condition) ? ((condition) ? true_value : false_value) : false_value;
(condition) ? true_value : ((condition) ? true_value : false_value);
In the above two syntaxes, on line number 1 you can clearly see that if the first condition is true then we are checking another condition just after the ? mark of the first condition. In the same way on line number 2 if the first condition is true then the true value will execute and if it is false then we are checking another condition just after the : mark of the first condition.
Now let's see an example for more understanding.
Example
Java program to find the greatest number among 3 integer variable's value using the nested conditional operator.
public class Example
{
public static void main(String args[])
{
int a=10, b=50, c=26, g;
g=(a>b && a>c) ? a : ((b>a && b>c) ? b : c);
System.out.print("Greatest number is " + g);
}
}
Output
Greatest number is 50
Here you can see that the condition (a>b && a>c) is false so, we are checking another condition (b>a && b>c) that is written just after the : marks of the first condition and this time the condition is true so the value of b gets stored in g.