Enhance Your Java Code Effectiveness Using Ternary Operator
Tags: tutorial, beginners, programming, java
Published: 2022-10-16 05:28:03

In this article I will teach you how you can improve your *Conditional Statement* code using *Ternary Operators*. How do you usually code Conditional Statements? is it like the code below?

***Source code 1:***

```java
public boolean isEvenNumber(int number) {
	if(number % 2 == 0) {
		return true;
	}
	else {
		return false;
	}
}
```

If yes, then you can make it even better using the Ternary Operator as in ***Source code 2*** below:

***Source code 2:***

```java
public boolean isEvenNumber(int number) {
	return number % 2 == 0 ? true : false;
}
```

The output results generated by ***Source code 1*** and ***Source code 2*** are completely the same. You can write code with the same results but with a much more effective number of lines of code using the Ternary Operator. How did this happen?

---

If we look at ***Source code 1*** and ***Source code 2*** carefully, then we will see a pattern that bridges the two Source codes. Let's break down the body ***Source code 2*** method to see the pattern:

`return number % 2 == 0 ? true : false;`

From the code snippet above, we will be able to see the 3 main components that make up a ternary operator:

- `number % 2 == 0` is the condition.
- `? true` is the value that appears if the previous condition is met.
- `: false` is the value that appears if the previous condition is not met.

How about `return`? `return` will return the value corresponding to the result of the ternary operation. The `return` here is actually optional because there is also a ternary operation without returning any value. We will see examples of other ternary operations in the following section. 

As you can see, the pattern of the ternary operator is very similar to the if conditional statement, but the ternary operation is much shorter. My personal opinion is that the ternary operator is very similar to the concept of *Value increment*, in that you can shorten `var = var + 1` to `var++`. So if the concept of value increment can be used to shorten the increment value operation, the ternary operator can be used to shorten the coding of conditional statements.

---

To better understand Ternary Operators, we will look at some examples of how they are implemented in coding.

### Example 1

*Suppose we will create a method to determine whether the input number that we input is an odd number or not*. Implementation using normal conditional statements can be seen in ***Source code 3***, and the implementation of the ternary operator can be seen in ***Source code 4***.

***Source code 3:***

```java
public boolean isOddNumber(int number) {
	if(number % 2 != 0) {
		return true;
	}
	else {
		return false;
	}
}
```

***Source code 4:***

```java
public boolean isOddNumber(int number) {
	return number % 2 != 0 ? true : false;
}
```

### Example 2:

*Suppose we will create a method to normalize an input name, for example if the input name is `null`, then we will return the value "Stranger"*. Implementation using normal conditional statements can be seen in ***Source code 5***, and the implementation of the ternary operator can be seen in ***Source code 6***.

***Source code 5:***

```java
public String normalizeName(String name) {
	if(name == null) {
		return "Stranger";	
	}
	else {
		return name;
	}
}
```

***Source code 6:***

```java
public String normalizeName(String name) {
	return name == null ? "Stranger" : name;
}
```

### Example 3:

*Suppose we will create a method to display the number we input, but if the number we input is `null`, then we will display the text "Number input is null!"*. Implementation using normal conditional statements can be seen in ***Source code 7***, and the implementation of the ternary operator can be seen in ***Source code 8***.

***Source code 7:***

```java
public void displayNumber(Integer number) {
	if(number == null) {
		System.out.println("Number input is null!");
	}
	else {
		System.out.println("Your number is " + number);
	}
}
```

***Source code 8:***

```java
public void displayNumber(Integer number) {
	System.out.println(number == null ? "Number input is null!" : "Your number is " + number);
}
```

---

And that's how you make your code more effective using the ternary operator. Of course, the material that I cover in this article is still incomplete because the conditional statement that we change to a ternary operator only consists of `if` and `else`, what if there is an `else if`. Ternary operators that have an `else if` are usually referred to as "Chained Ternary Operators" or "Multiple Conditions Ternary Operators" which we will discuss in the next article.

---

Cover image: [https://i.picsum.photos/id/882/1920/720.jpg?hmac=-m4frcxPW1QpFYu5cokcHkKkLgJMbq1kHk10I2dghcA](https://i.picsum.photos/id/882/1920/720.jpg?hmac=-m4frcxPW1QpFYu5cokcHkKkLgJMbq1kHk10I2dghcA)