Выражение when
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 32 из 93.
Когда нужно проверить несколько конкретных значений, длинные цепочки операторов else if могут стать трудными для чтения. В Kotlin выражение when является более удобной альтернативой для сопоставления значения с несколькими возможностями.
fun main() {
val day = 3
val dayName = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
else -> "Weekend"
}
println(dayName) // Выводит: Wednesday
}Выражение when принимает значение и сравнивает его с каждой ветвью. Когда совпадение найдено, возвращается соответствующий результат. Ветка else обрабатывает любое значение, которое не соответствует перечисленным случаям.
Вы также можете сопоставить несколько значений в одной ветви, разделив их запятыми:
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type) // Выводит: Weekend
}Значение, возвращаемое конструкцией when, должно быть исчерпывающим: для каждого возможного входного значения должен быть результат. В этих примерах с целыми числами необходим else, но конструкция when для Boolean с обеими ветвями — true и false — в нём не нуждается.
Задание
ЛегкоВам предоставлена следующая переменная:
val month = 4Используйте выражение when, чтобы определить время года на основе номера месяца и сохранить результат в переменной с именем season.
Условия:
- Месяцы
12,1,2должны возвращать"Winter" - Месяцы
3,4,5должны возвращать"Spring" - Месяцы
6,7,8должны возвращать"Summer" - Месяцы
9,10,11должны возвращать"Fall" - Любое другое значение должно возвращать
"Invalid month"
Используйте значения, разделённые запятыми, в ветвях when, чтобы сгруппировать месяцы, относящиеся к одному времени года.
Выведите значение season.
Попробуйте сами
fun main() {
val month = 4
// TODO: Напишите ваш код ниже
// Используйте выражение when, чтобы определить время года на основе месяца
// Сохраните результат в переменной с именем 'season'
// Выведите результат
println(season)
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Kotlin