Руководство по Scala. Оператор ветвления IF/ELSE.

В данной статье мы рассмотрим конструкцию ветвления if/else в языке программирования Scala.

Рассмотрим простую блок-схему:

 

 

if-else

 

У нас есть некий оператор, который проверяет истинность того, или иного утверждения. Если утверждение истинно, то выполняет один блок кода если нет – другой.

Данный оператор в Scala имеет следующий вид:


if(ЛОГИЧЕСКОЕ_ВЫРАЖЕНИЕ){
   код, который выполняется, если выражение возвращает true
}else {
   код, который выполняется, если выражение возвращает false
}

Для понимания того, как это работает на практике, рассмотрим простой пример:


package net.proselyte.scalatutorial.if_else

/**
  * Simple Scala class that demonstrates IF/ELSE construction.
  *
  * @author Eugene Suleimanov
  */

object IfElseDemo {
  def main(args: Array[String]) {
    val specialty: String = "Java/Scala Developer";

    if (specialty == "Java/Scala Developer") {
      println("You are Java/Scala Developer")
    } else {
      println("You are not Java/Scala Developer")
    }
  }
}

В результате выполнения программы мы получим, примерно, следующий результат:


You are Java/Scala Developer

Process finished with exit code 0

Кроме того, мы можем использовать оператор IF отдельно:


package net.proselyte.scalatutorial.if_else

/**
  * Simple Scala class that demonstrates operator IF.
  *
  * @author Eugene Suleimanov
  */
object IfDemo {
  def main(args: Array[String]) {
    val number = 50;

    if (number < 100) {
      println("This number is less than 100");
    }
  }
}

В результате выполнения программы мы получим, примерно, следующий результат:


This number is less than 100

Process finished with exit code 0

Часто используются конструкции из нескольких IF/ELSE следующих друг за другом:


package net.proselyte.scalatutorial.if_else

/**
  * Simple Scala class that demonstrates IF/ELSE/IF construction.
  *
  * @author Eugene Suleimanov
  */

object IfElseIfDemo {
  def main(args: Array[String]) {
    val specialty: String = "C++";

    if (specialty == "Java") {
      println("You are Java Developer");
    } else if (specialty == "C++") {
      println("You are C++ developer");
    } else if (specialty == "Scala") {
      println("You are Scala developer");
    } else {
      println("Unknown specialty");
    }
  }
}

Результатом выполнения данной программы будет следующий вывод в консоль


You are C++ developer

Process finished with exit code 0

В конце мы рассмотрим вложенные IF/ELSE конструкции:


package net.proselyte.scalatutorial.if_else

/**
  * Simple Scala class that demonstrates IF/ELSE/IF construction.
  *
  * @author Eugene Suleimanov
  */

object NestedIfElseDemo {
  def main(args: Array[String]) {
    val profession: String = "Developer";
    val specialty: String = "Java";

    if (profession == "Developer") {
      if (specialty == "C++") {
        println("You are C++ developer");
      } else if (specialty == "Java") {
        println("You are Java developer");
      }
    } else if (profession == "Designer") {
      if (specialty == "3D") {
        println("You are 3D designer");
      } else if (specialty == "Web") {
        println("You are Web designer");
      }
    }
  }
}

В результате выполнения данной программы мы получим следующий результат:


You are Java developer

Process finished with exit code 0

На этом мы заканчиваем изучение конструкции IF/ELSE в Scala.
В следующей статье мы рассмотрим циклы в данном языке программирования.