Что такое тернарный оператор

Ответ

Тернарный оператор (?:) — это сокращённая форма условного оператора if-else. Он принимает три операнда: условие, выражение при true и выражение при false.

Синтаксис:

val result = условие ? выражение1 : выражение2

Пример:

val isAdult = age >= 18
val status = isAdult ? "Взрослый" : "Ребёнок"

Эквивалент с if-else:

val status = if (isAdult) "Взрослый" else "Ребёнок"

Особенности:

  • Удобен для простых условий
  • Улучшает читаемость кода
  • Нельзя использовать для сложной логики
  • В Kotlin является выражением (возвращает значение)

Ответ 18+ 🔞

Давай разберём эту штуку, которая выглядит как какая-то хитрая жопа, а на деле — проще пареной репы. Тернарный оператор, ёпта.

Представь, ты стоишь перед выбором: пить чай или кофе. Вместо того чтобы разводить целую философию с if и else, можно просто спросить себя: «Я устал? Если да — кофе, если нет — чай». Вот этот оператор ?: — он ровно про это. Три части, как бутерброд: условие, что делать, если правда, и что делать, если пиздёж.

Смотри, как это выглядит в коде, тут овердохуища просто:

val возраст = 25
val статус = возраст >= 18 ? "Взрослый" : "Ребёнок"
println(статус) // Выведет "Взрослый"

Всё, блядь. Спрашиваем: «Возраст 18 или больше?» Если да (true) — записываем «Взрослый». Если нет (false) — записываем «Ребёнок». И никаких танцев с бубном.

А теперь смотри, как это выглядело бы, если бы мы писали по-старинке, размазывая логику:

val возраст = 25
val статус = if (возраст >= 18) {
    "Взрослый"
} else {
    "Ребёнок"
}

Результат тот же самый, но строчек больше, и читать это — терпения ноль, ебать. Тернарный оператор — это как раз для таких моментов, когда нужно быстро и без лишнего пафоса принять решение и записать результат в одну строчку.

Главное, чувак, не пытайся впихнуть туда всю свою жизненную мудрость. Это не для сложных многоэтажных условий, где нужно проверить десять гипотез и вызвать пять методов. Для этого есть полноценный if-else. А ?: — это инструмент для быстрых, простых выборов, типа «светофор зелёный? Едь : Стой». И запомни: в Kotlin это выражение, то есть оно само по себе возвращает значение, которое можно сразу куда-то присвоить. Удобно, ёбана!