Тернарный оператор состоит из следующих операндов: (условие) ? (блок истинности или то) : (блок иначе)
. Тернарный оператор также могут называть троичным оператором, потому что он единственный во всём языке имеет три оператора (условие и 2 блока).
Алгоритм работы тернарной операции: (логическое выражение) ? выражение 1 : выражение 2
- Вычисляется логическое выражение (условие).
- Если логическое выражение истинно, то вычисляется значение выражения 1, в противном случае — значение выражения 2.
- Вычисленное значение возвращается.
Тернарный оператор [ ? :
], является сокращенной формой конструкции if-else
, поэтому, например, такой тернарный оператор:
max = (a > b) ? a : b; // ЕСЛИ: (a > b) ТО: вернуть a ИНАЧЕ: вернуть b;
представляет собой следующее:
if (a > b)
{
max = a;
}
else
{
max = b;
}
Правило: тернарный оператор обязательно должен возвращать значение, иначе будет ошибка.
Также нужно рассмотреть работу тернарного оператора в случаях, когда в выражении происходят дополнительные действия, например:
max = a > b ? c = a : c = b;
В данном случае если условие будет истинным, то дальнейший ход действий будет таковым:
с = а
max = c
С этого следует, что присвоение результата работы тернарного оператора переменной всегда будет последним.
Кроме этого, как видно с данного примера условие в тернарном операторе не обязательно брать в скобки ( ).
Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №4. УСЛОВНЫЕ КОНСТРУКЦИИ"