Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Ternary Operator | Deep Java Structure
Java Extended

Ternary Operator

How can we shorten an if-else statement?

The if-statement may not always look elegant, but Java provides a faster and more convenient way to check conditions. It is called the ternary operator, and it has the following syntax:

It looks unclear. Let me explain what is what.

First, we set a condition, for example, 10 > 5, and then we put a question mark ? after it. If the condition evaluates to true, we go to the true block, for example, System.out.println("That's true");. If the condition evaluates to false, we go to the false block, where we might have something like System.out.println("That's not true");.

Let's analyze a more practical example:

java

Main.java

Note

We can place a boolean value within a regular System.out.println() because in this case, the toString() method of the Boolean class will be applied to the boolean object. The same situation applies to other data types.

You may have noticed that we used the ternary operator inside the System.out.println(); statement. That's the main purpose of using the ternary operator - you can use it within output statements to significantly reduce the amount of code.

We can also use the ternary operator when initializing or returning values. You'll learn more about returning values in the next section when you will study methods.

Example of using ternary operator when initializing value:

java

Main.java

Below is an example code where the ternary operator is replaced with a regular if-statement to help you better understand how it works:

java

Main.java

The result is the same, but you can see how much space we save by using the ternary operator.

Task

You have a String variable. Write a code that prints true to the screen if the string contains the letter k, or false if the string does not contain this letter. Use the ternary operator to practice with it.

Everything was clear?

Section 1. Chapter 6
toggle bottom row

Ternary Operator

How can we shorten an if-else statement?

The if-statement may not always look elegant, but Java provides a faster and more convenient way to check conditions. It is called the ternary operator, and it has the following syntax:

It looks unclear. Let me explain what is what.

First, we set a condition, for example, 10 > 5, and then we put a question mark ? after it. If the condition evaluates to true, we go to the true block, for example, System.out.println("That's true");. If the condition evaluates to false, we go to the false block, where we might have something like System.out.println("That's not true");.

Let's analyze a more practical example:

java

Main.java

Note

We can place a boolean value within a regular System.out.println() because in this case, the toString() method of the Boolean class will be applied to the boolean object. The same situation applies to other data types.

You may have noticed that we used the ternary operator inside the System.out.println(); statement. That's the main purpose of using the ternary operator - you can use it within output statements to significantly reduce the amount of code.

We can also use the ternary operator when initializing or returning values. You'll learn more about returning values in the next section when you will study methods.

Example of using ternary operator when initializing value:

java

Main.java

Below is an example code where the ternary operator is replaced with a regular if-statement to help you better understand how it works:

java

Main.java

The result is the same, but you can see how much space we save by using the ternary operator.

Task

You have a String variable. Write a code that prints true to the screen if the string contains the letter k, or false if the string does not contain this letter. Use the ternary operator to practice with it.

Everything was clear?

Section 1. Chapter 6
toggle bottom row
some-alt