Условные конструкции позволяют направить выполнение программы по одному из путей в зависимости от условия.
Конструкция if принимает условие, и если это условие истинно, то выполняется последующий блок инструкций.
val a = 10 if(a == 10) { println("a равно 10") }
В данном случае в конструкции if проверяется истинность выражения a == 10
, если оно истинно, то выполняется последующий блок
кода в фигурных скобках, и на консоль выводится сообщение "a равно 10". Если же выражение ложно, тогда блок кода не выполняется.
Если необходимо задать альтернативный вариант, то можно добавить блок else:
val a = 10 if(a == 10) { println("a равно 10") } else{ println("a НЕ равно 10") }
Таким образом, если условное выражение после оператора if истинно, то выполняется блок после if, если ложно - выполняется блок после else.
Если блок кода состоит из одного выражения, то в принципе фигурные скобки можно опустить:
val a = 10 if(a == 10) println("a равно 10") else println("a НЕ равно 10")
Если необходимо проверить несколько альтернативных вариантов, то можно добавить выражения else if:
val a = 10 if(a == 10) { println("a равно 10") } else if(a == 9){ println("a равно 9") } else if(a == 8){ println("a равно 8") } else{ println("a имеет неопределенное значение") }
Стоит отметить, что конструкция if может возвращать значение. Например, найдем максимальное из двух чисел:
val a = 10 val b = 20 val c = if (a > b) a else b println(c) // 20
Аналогично можно использовать else if:
val a = 20 val b = 20 val c = if (a > b) 1 else if (a < b) -1 else 0 println(c) // 0
Если при определении возвращаемого значения надо выполнить еще какие-нибудь действия, то можно заключить эти действия в блоки кода:
val a = 10 val b = 20 val c = if (a > b){ println("a = $a") a } else { println("b = $b") b }
В конце каждого блока указывается возвращаемое значение.