Scala - If-else-if-else Statement



An 'if' statement can be followed by an optional 'else if...else' statement, which is very useful to test various conditions using single if...else if statement.

When using if, else if, else statements there are few points to keep in mind.

  • An 'if' can have zero or one else's and it must come after any else ifs.
  • An 'if' can have zero to many else if's and they must come before the else.
  • Once an else if succeeds, none of the remaining else if's or else's will be tested.

Flow Chart

The following is a flow chart diagram for conditional statement −

Scala If-else-if-else Statement

Syntax

The following is the syntax of an if...else if...else is as follows −

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
} else if(Boolean_expression 2){
   //Executes when the Boolean expression 2 is true
} else if(Boolean_expression 3){
   //Executes when the Boolean expression 3 is true
} else {
   //Executes when the none of the above condition is true.
}

The if statement starts by checking if the first condition (Boolean_expression 1) is true. If it is true, the code right after the if statement runs. If it is false, Scala checks the next condition (Boolean_expression 2) in the else if statement. If this second condition is true, then its code runs.

This checking continues with any other else if statements. If all the conditions are false, Scala runs the code after the else statement. This way, only one block of code runs, based on the first condition that is true.

Example of Scala if-else-if-else Statement

Try the following example program to understand conditional statements (if- else- if- else statement) in Scala programming language −

object Demo {
   def main(args: Array[String]) = {
      var x = 30;

      if( x == 10 ){
         println("Value of X is 10");
      } else if( x == 20 ){
         println("Value of X is 20");
      } else if( x == 30 ){
         println("Value of X is 30");
      } else{
         println("This is else statement");
      }
   }
}

The if statement starts by checking if the first condition (x == 10) is true. If it is true, the code right after the if statement runs, printing "Value of X is 10". If it is false, Scala checks the next condition (x == 20) in the else if statement. If this second condition is true, then its code runs, printing "Value of X is 20".

This checking continues with any other else if statements. In this case, the next condition is x == 30. If this condition is true, it prints "Value of X is 30".

If all the conditions are false, Scala runs the code after the else statement, which prints "This is else statement". This way, only one block of code runs, based on the first condition that is true.

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

\>scalac Demo.scala
\>scala Demo

Output

Value of X is 30

Divisibility

Try the following another example program to understand conditional statements (if-else-if-else statement) in Scala programming language −

object Demo {
   def main(args: Array[String]) = {
      val number = 15

      if (number % 2 == 0) {
         println("The number is even.")
      } else if (number % 3 == 0) {
         println("The number is divisible by 3.")
      } else {
         println("The number is not divisible by 2 or 3.")
      }
   }
}

The if statement starts by checking if the first condition (number % 2 == 0) is true. If it is true, the code right after the if statement runs, printing "The number is even." If it is false, Scala checks the next condition (number % 3 == 0) in the else if statement. If this second condition is true, then its code runs, printing "The number is divisible by 3".

If all the conditions are false, Scala runs the code after the else statement, which prints "The number is not divisible by 2 or 3." This way, only one block of code runs, based on the first condition that is true.

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

\>scalac Demo.scala
\>scala Demo

Output

The number is divisible by 3.
Advertisements