Decide with if

In this lesson, we will go over how to use the `if` expression.

We'll cover the following

Introduction

The if expression is a conditional statement. It allows you to incorporate conditions in your code which need to be fulfilled before the code can execute.

Conditional statements are incredibly powerful as they take the state of the program into consideration and act accordingly. This results in smarter compilation as the compiler is now provided with a decision-making capability.

Control Flow

Let’s look at the control flow of if.

The above flow is showing that if the condition has been fulfilled, the compiler will execute the conditional code and if the condition has not been fulfilled, the compiler will exit that block of code without executing the conditional code.

Syntax

Before we see the if expression in action, let’s go over the syntax and see how to write a block of code with if using Scala.

The syntax is pretty straight forward with an if followed by the condition to be checked in () which is further followed by the code to be executed if the condition is true.

To make the code more readable, you can write the conditional code underneath the if expression and condition. In this case, surround the conditional code in curly brackets ({}).

The condition must be an expression of type Boolean. If the condition is true, the code will execute. If the condition is false, the compiler will exit the code.

if in Action

In the example below, we want to change the first element of an array, but before we can do that we need to make sure the array is not empty.

Press + to interact
var arrayOfEmotions = Array("happy","sad","angry","excited")
if (!arrayOfEmotions.isEmpty) {
arrayOfEmotions(0) = "joyful"
}
// Driver Code
arrayOfEmotions.foreach(println)

In the code above, the condition !arrayOfEmotions.isEmpty is using the built-in isEmpty method along with the ! operator to check if the array is not empty. As our array, arrayOfEmotions is not empty, the expression will return true making our condition fulfilled. As a result, the statement on line 3 is executed, replacing the value of the first element "happy" with "joyful".

Try running the same code using an empty array and compare your output with the output we got in the example above.


In the next lesson, we will continue our discussion on if and see what makes a Scala if different from if expressions in other programming languages.