Java ternary operator

Description

The ? operator is a ternary (three-way) operator.

Java ternary operator is basically a short form of simple if statement.

Syntax

The ? has this general form:


expression1 ? expression2 : expression3

expression1 can be any expression that evaluates to a boolean value. If expression1 is true, then expression2 is evaluated. Otherwise, expression3 is evaluated.

The expression evaluated is the result of the ? operation. Both expression2 and expression3 are required to return the same type, which can't be void.

Example

Here is an example of ? operator:

 
public class Main {
  public static void main(String[] argv) {
    int denom = 10;
    int num = 4;// ww  w  . ja v a  2s . c  om
    double ratio;

    ratio = denom == 0 ? 0 : num / denom;
    System.out.println("ratio = " + ratio);
  }
}

The output:

Example 2

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

 
public class Main {
  public static void main(String args[]) {
    int i, k;//from   w ww . j a va 2  s .  c  o  m
    i = 10;
    k = i < 0 ? -i : i; 
    System.out.print("Absolute value of ");
    System.out.println(i + " is " + k);

    i = -10;
    k = i < 0 ? -i : i; 
    System.out.print("Absolute value of ");
    System.out.println(i + " is " + k);

  }
}

The output generated by the program is shown here:





















Home »
  Java Tutorial »
    Java Language »




Java Data Type, Operator
Java Statement
Java Class
Java Array
Java Exception Handling
Java Annotations
Java Generics
Java Data Structures