Я не копирайтер, тапками не кидать.🤗
Приступим сразу к делу.
Тернарный оператор проводит операцию сравнения между двумя объектами: работает почти так же, как if-else, просто записывается более компактно.
Он состоит из условия, Блока номер один и Блока номер два, и выглядит так:
(Значение один (операция) значение два, далее идет знак вопроса (?), после которого Блок1 : Блок2.
Что же это означает? Если в условии у нас получается True, мы выполняем первый блок, если же False, мы выполняем второй блок.Допустим, нам надо вычислить минимальное из двух чисел.
Вот самый наглядный пример:
int y = 5;
int x = 10;
int min = y < x ? y : x; // Условие | Блок1 | Блок2
System.out.println(min) // min == 5
? — это переход к блокам. Если сравнение слева выдает TRUE, выполняется блок ОДИН.
В этом случае выполнится Блок1, ибо Y меньше X.
А как быть, если нам надо узнать минимальное, допустим, из ПЯТИ чисел?
Еще один наглядный пример:
public static int min(int a, int b, int c, int d, int e) {
int min = a < b ? a : b; // А меньше Б? Если да, минимальное число равно A. Иначе min = b;
min = c < min ? c : min; // C меньше МИНИМАЛЬНО ЧИСЛА? Если да min = c. Иначе min = min
min = d < min ? d : min; // D меньше МИНИМАЛЬНО ЧИСЛА? Если да min = d. Иначе min = min
min = e < min ? e : min; // E меньше МИНИМАЛЬНО ЧИСЛА? Если да min = e. Иначе min = min
return min; // Возвращаем полученное минимальное число.
}
Таким красивым образом получаем минимальное число из пяти.
Надеюсь, вы все поняли))
А если не поняли, не спешите огорчаться: вот вам объяснение в видео.
Обязательно его посмотрите!
https://www.youtube.com/watch?v=fHCNlQY-ssI
Свои вопросы и поправки оставляйте в комментариях.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ