Тернарный оператор в Java — это компактная замена простому if-else. Он позволяет записать условное выражение в одну строку и сразу получить результат.
Синтаксис: условие ? значениеTrue : значениеFalse
Оператор проверяет условие. Если оно истинно, возвращается первое значение (после ?), иначе — второе (после :). Например: int max = (a > b) ? a : b; — переменная получит большее из двух чисел.
- Используй для простых условий и присваиваний
- Не злоупотребляй вложенными тернарными операторами — код станет нечитаемым
Онлайн-задания ниже помогут закрепить синтаксис и понять, как работает этот оператор на практике.
- Модуль 1: Первая программа и структура
- Модуль 2: Переменные и типы данных
- Объявление и инициализация переменных.
- Примитивы: целые числа (int, long, byte, short).
- Примитивы: дробные числа (double, float).
- Примитивы: логический тип (boolean).
- Примитивы: символьный тип (char).
- String — основы работы со строками.
- Приведение типов (Casting): расширение и сужение.
- Область видимости переменных (Scope).
- Модуль 3: Операторы
- Модуль 4: Управляющие конструкции
- Модуль 5: Массивы и Строки (Advanced)
- Создание и заполнение массива.
- Доступ к элементам по индексу.
- Свойство length и перебор массива.
- Цикл for-each для массивов.
- Многомерные массивы.
- Методы String: length, charAt, isEmpty.
- Манипуляции: substring, concat, replace.
- Сравнение строк: equals vs ==.
- Разделение строк (split) и trim.
- StringBuilder (изменяемые строки).
- Модуль 6: Методы
- Модуль 7: Классы и Объекты (ООП Часть 1)
- Модуль 8: Капсуляция и Модификаторы
- Модуль 9: Наследование и Полиморфизм (ООП Часть 2)
- Модуль 10: Обработка исключений
- Модуль 11: Коллекции и Дженерики
- Модуль 12: Функциональный стиль (Java 8+)
- Модуль 13: Полезные стандарты
1. Базовый синтаксис
В этом задании вам предстоит вспомнить базовый синтаксис тернарного оператора в Java. Тернарный оператор позволяет компактно записать условное выражение, возвращающее одно из двух значений в зависимости от истинности условия. В приведённом фрагменте кода пропущены ключевые символы, необходимые для работы тернарного оператора. Ваша задача — вставить пропущенные символы так, чтобы программа корректно вычислила максимальное из двух заданных чисел и вывела результат. Обратите внимание на имена переменных и логику условия.
int a = 5;
int b = 10;
int max = (a > b) input1S a input2S b;
System.out.println("Максимум: " + max);2. Вычисли результат
В данном задании вам предстоит проанализировать короткий фрагмент кода на Java, использующий тернарный оператор. Тернарный оператор — это компактная форма условного выражения, которая возвращает одно из двух значений в зависимости от истинности условия. Ваша задача — мысленно выполнить код и определить, какое значение будет присвоено переменной result (или что будет выведено на экран, если в коде есть вывод). Введите полученный результат в поле ответа в виде одного числа.
public class Main {
public static void main(String[] args) {
int a = 12;
int b = 7;
int result = (a > 10) ? (b < 5 ? 1 : 2) : 3;
System.out.println(result);
}
}3. Что выведет код?
Проанализируйте представленный фрагмент кода на Java, использующий тернарный оператор. Переменные инициализированы конкретными целочисленными значениями. Внимательно оцените условие тернарного оператора и определите, какое значение будет выведено на экран в результате выполнения программы. Выберите один правильный вариант из предложенных.
int a = 8;
int b = 3;
int c = 5;
System.out.println(a > b ? (a > c ? a : c) : (b > c ? b : c));4. Найди ошибку
В этом фрагменте Java-кода, использующем тернарный оператор, допущена синтаксическая ошибка: отсутствует необходимый символ или нарушен порядок операндов. Найдите строку с ошибкой и исправьте её, чтобы код скомпилировался и корректно определил максимальное из двух чисел. Обратите внимание на правильный синтаксис тернарного оператора в Java.
public class Main { public static void main(String[] args) { int a = 10, b = 20; int max = (a > b) ? a b; System.out.println("Максимум: " + max); }}5. Порядок вычисления
В этом задании вам представлены шаги выполнения тернарного оператора в Java в перемешанном порядке. Ваша задача — восстановить правильную последовательность этих шагов, отражающую логику вычисления тернарного оператора: от вычисления условия до возврата результата. Расставьте шаги сверху вниз в том порядке, в котором они выполняются при работе тернарного оператора.
6. Замена if-else
В этом задании вам нужно преобразовать конструкцию if-else в эквивалентный тернарный оператор. Вы увидите блок кода с условным оператором, а ниже — неполный тернарный оператор с пропусками. Используя выпадающие списки, выберите подходящие части (условие, значения для true и false) из предложенных вариантов, чтобы тернарный оператор работал идентично исходному if-else. Обратите внимание на синтаксис тернарного оператора и типы данных.
int a = 5;
int b = 3;
int max;
// Блок if-else:
if (a > b) {
max = a;
} else {
max = b;
}
// Эквивалентный тернарный оператор:
max = (input1S) ? input2S : input3S;7. Собери выражение
Из предложенных строк соберите корректное тернарное выражение на Java, которое проверяет, является ли целое число num чётным, и присваивает переменной result строку "чётное" или "нечётное" в зависимости от результата. Некоторые строки являются лишними и не должны входить в итоговое выражение. Обратите внимание на синтаксис тернарного оператора и правильную расстановку знаков.
String result =(num % 2 == 0)?"чётное":"нечётное";int num = 10;System.out.println(result);8. Вложенный тернарный оператор
Проанализируйте приведенный фрагмент кода на Java, содержащий вложенный тернарный оператор. Определите, какая строка будет выведена на экран при заданном значении переменной. Выберите один правильный вариант из пяти предложенных.
public class Main {
public static void main(String[] args) {
int number = -5;
String result = number > 0 ? "Положительное" : (number < 0 ? "Отрицательное" : "Ноль");
System.out.println(result);
}
}