В данной статье мы рассмотрим конструкцию ветвления if/else в языке программирования Scala.
Рассмотрим простую блок-схему:
У нас есть некий оператор, который проверяет истинность того, или иного утверждения. Если утверждение истинно, то выполняет один блок кода если нет – другой.
Данный оператор в 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.
В следующей статье мы рассмотрим циклы в данном языке программирования.