Тернарным (тройным) оператором в Java является только условный оператор, который принимает три операнда. Он представляет собой замену if-then-else (если-то-иначе) выражения и очень часто используется в программировании на Java. Мы можем использовать тернарный (тройной) оператор, чтобы упростить код (уменьшить количество строк, сделать его более наглядным и лаконичным). Как это сделать, показано в примере ниже.
Подробный разбор тернарного оператора
Первый операнд в тернарном операторе должен быть логическим или же представлять собой логическое выражение с результатом. Если первый операнд true, то тернарный оператор возвращает второй операнд, иначе (если первый операнд false) — возвращает третий операнд.
Синтаксис тернарного оператора в Java:
результат = выражение ? значение1 : значение2;
Если выражение true, то значение1 присваивается переменной результат, иначе значение2 присваивается переменной результат.
Давайте посмотрим использование тернарного оператора в небольшой Java-программе:
TernaryOperator.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package ua.com.prologistic.util; public class TernaryOperator { public static void main(String[] args) { System.out.println(getMinValue(4,10)); System.out.println(getAbsoluteValue(-10)); System.out.println(invertBoolean(true)); String str = "Austria"; String data = str.contains("A") ? "Str содержит букву 'A'" : "Str не содержит букву 'A'"; System.out.println(data); int i = 10; switch (i){ case 5: System.out.println("i=5"); break; case 10: System.out.println("i=10"); break; default: System.out.println("i не равно 5 или 10"); } System.out.println( (i==5) ? "i=5":((i==10) ? "i=10":"i не равно 5 или 10") ); } // инвертирует булевое значение: // если b == true, то возвращает false, иначе возвращает true private static boolean invertBoolean(boolean b) { return b ? false : true; } private static int getAbsoluteValue(int i) { return i < 0 ? -i : i; } private static int getMinValue(int i, int j) { return (i < j) ? i : j; } } |
Результат выполнения программы:
1 2 3 4 5 6 |
4 10 false Str содержит букву 'A' i=10 i=10 |
Как видим, тернарный оператор в Java используется для небольших выражений, упрощает код и уменьшает его количество.