У цьому посібнику ви дізнаєтесь про тернарний оператор та його використання в Java на прикладах.
На Java тернарний оператор може бути використаний для заміни оператора if … else у певних ситуаціях. Перш ніж дізнатись про тернарний оператор, переконайтеся, що ви відвідали заяву Java if … else.
Тернарний оператор на Java
Трійковий оператор оцінює умову тесту та виконує блок коду на основі результату умови.
Це синтаксис:
condition ? expression1 : expression2;
Тут стан оцінюється і
- якщо умова є
true
, вираз1 виконується. - І, якщо умова є
false
, вираз2 виконується.
Трійковий оператор приймає 3 операнди (умова, вираз1 та вираз2). Отже, назва потрійного оператора .
Приклад: Тернарний оператор Java
import java.util.Scanner; class Main ( public static void main(String() args) ( // take input from users Scanner input = new Scanner(System.in); System.out.println("Enter your marks: "); double marks = input.nextDouble(); // ternary operator checks if // marks is greater than 40 String result = (marks> 40) ? "pass" : "fail"; System.out.println("You " + result + " the exam."); input.close(); ) )
Вихід 1
Введіть свої оцінки: 75 Ви складаєте іспит.
Припустимо, користувач вводить 75 . Потім умова marks> 40
оцінюється як true
. Отже, перший прохід виразу присвоюється результату.
Вихід 2
Введіть свої оцінки: 24 Ви не здаєте іспит.
Тепер, припустимо, користувач вводить 24 . Потім умова marks> 40
оцінюється як false
. Отже, другий вираз відмова присвоюється результату.
Коли використовувати тернарного оператора?
На Java тернарний оператор може бути використаний для заміни певних типів if… else
операторів. Наприклад,
Ви можете замінити цей код
class Main ( public static void main(String() args) ( // create a variable int number = 24; if(number> 0) ( System.out.println("Positive Number"); ) else ( System.out.println("Negative Number"); ) ) )
з
class Main ( public static void main(String() args) ( // create a variable int number = 24; String result = (number> 0) ? "Positive Number" : "Negative Number"; System.out.println(result); ) )
Вихідні дані
Позитивне число
Тут обидві програми дають однакові результати. Однак використання тернарного оператора робить наш код більш читабельним та чистим.
Примітка : Використовувати тернарний оператор слід лише в тому випадку, якщо отриманий оператор є коротким.
Вкладені тернарні оператори
Також можливе використання одного потрійного оператора всередині іншого потрійного оператора. Це називається вкладеним трійковим оператором в Java.
Ось програма для пошуку найбільшого з 3 чисел за допомогою вкладеного трійкового оператора.
class Main ( public static void main(String() args) ( // create a variable int n1 = 2, n2 = 9, n3 = -11; // nested ternary operator // to find the largest number int largest = (n1>= n2) ? ((n1>= n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3); System.out.println("Largest Number: " + largest); ) )
Вихідні дані
Найбільша кількість: 9
У наведеному вище прикладі зверніть увагу на використання потрійного оператора,
(n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);
Ось,
- (n1> = n2) - перша умова тесту, яка перевіряє, чи n1 більше n2
- (n1> = n3) - друга умова тесту, яка виконується, якщо перша умова є
true
- (n2> = n3) - третя умова тесту, яка виконується, якщо перша умова є
false
Примітка : Не рекомендується використовувати вкладені тернарні оператори. Це тому, що це робить наш код більш складним.