Проблема необязательности фигурных скобок в Kotlin
Давайте теперь будем смотреть, чем опасно отсутствие скобок. В условие попадает только первая команда. Следующая выполняется всегда, и ошибку легко не заметить.
В условии одна команда:
val num1 = 3
if (num1 > 0)
println(num1)
Добавим второе сообщение "+++", когда условие
выполняется:
val num1 = 3
if (num1 > 0)
println(num1)
println("+++")
Без фигурных скобок внутри условия только первая команда. Она выполняется при верном условии, а вторая выполняется всегда.
Такая запись равна коду, где вторая команда уже снаружи:
val num1 = 3
if (num1 > 0) {
println(num1)
}
println("+++")
Обе команды внутри условия выглядят так:
val num1 = 3
if (num1 > 0) {
println(num1)
println("+++")
}
В остальных уроках фигурные скобки пишем.
Не запуская код, определите, что выведется на экран:
val num = 5
if (num == 5)
println(num)
println("+++")
Не запуская код, определите, что выведется на экран:
val num = 0
if (num == 5)
println(num)
println("+++")
Не запуская код, определите, что выведется на экран:
val num = 0
if (num == 5)
println(num)
println("---")
println("+++")