Выбор ответа Junior Основы языка спрашивают часто обновлено
Почему в Kotlin нет тернарного оператора
Вопрос
Почему в Kotlin нет оператора a ? b : c?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: if в Kotlin является выражением и возвращает значение. val max = if (a b) a else b возвращает значение, поэтому отдельный тернарный оператор не нужен; то же с when и try.
Варианты ответа
ifв Kotlin является выражением и возвращает значениеправильный ответ- Его убрали ради совместимости с Java
- Его заменяет оператор
?:, который работает так же, как тернарный - Он есть, но только для примитивов
Разбор
val max = if (a > b) a else b возвращает значение, поэтому отдельный тернарный оператор не нужен; то же с when и try. В Java тернарник есть, так что совместимость ни при чём. Elvis ?: похож внешне, но проверяет только null: x ?: y значит «x, если он не null, иначе y».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.