Тернарний Оператор
Як можна скоротити оператор if-else?
Оператор if
не завжди виглядає елегантно, але Java надає швидший і зручніший спосіб перевірки умов. Це тернарний оператор, який має наступний синтаксис:
condition ? expression_for_true : expression_for_false
Спочатку задається умова, наприклад, 10 > 5
, після чого ставиться знак питання ?
. Якщо умова оцінюється як true
, виконується блок true, наприклад, System.out.println("That's true");
. Якщо умова оцінюється як false
, виконується блок false, наприклад, System.out.println("That's not true");
.
Розглянемо більш практичний приклад:
Main.java
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Ви могли помітити, що ми використали тернарний оператор всередині виразу System.out.println();
. Це основне призначення тернарного оператора — його можна використовувати у виразах для виводу, щоб суттєво скоротити обсяг коду.
Тернарний оператор також можна використовувати під час ініціалізації або повернення значень. Більше про повернення значень ви дізнаєтеся в наступному розділі, коли будете вивчати методи.
Приклад використання тернарного оператора під час ініціалізації значення:
Main.java
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Нижче наведено приклад коду, де тернарний оператор замінено звичайною інструкцією if
, щоб допомогти вам краще зрозуміти, як він працює:
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Результат той самий, але можна побачити, скільки місця економиться завдяки використанню тернарного оператора.
Swipe to start coding
-
Напишіть код, який виводить
"The string contains Florida"
, якщо рядок містить слово Florida, або"Florida is not found"
, якщо не містить. -
Використайте тернарний оператор для практики з ним.
Рішення
solution.java
Дякуємо за ваш відгук!