Toán tử Ternary trong Java là toán tử điều kiện duy nhất sử dụng ba toán hạng. Nó là một cách viết thay thế ngắn gọn cho câu lệnh if-then-else và được sử dụng rất nhiều trong lập trình Java. Chúng ta cũng có thể sử dụng toán tử ternary để thay thế cả câu lệnh switch như trong một số ví dụ.

Toán tử Ternary trong Java
Toán hạng đầu tiên của toán tử ternary trong Java phải là một giá trị boolean hoặc một biểu thức cho kết quả boolean. Nếu toán hạng đầu tiên là true, toán tử ternary sẽ trả về toán hạng thứ hai, ngược lại, nó sẽ trả về toán hạng thứ ba. Cú pháp của toán tử ternary trong Java là: result = testStatement ? value1 : value2;. Nếu testStatement là đúng, value1 sẽ được gán cho biến result, ngược lại, value2 sẽ được gán cho biến result. Hãy cùng xem ví dụ về toán tử ternary trong một chương trình Java đơn giản.
package com.journaldev.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 = "Australia";
String data = str.contains("A") ? "Str contains 'A'" : "Str doesn't contains '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 is not equal to 5 or 10");
}
System.out.println((i==5) ? "i=5":((i==10) ? "i=10":"i is not equal to 5 or 10"));
}
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;
}
}
Kết quả của chương trình Java sử dụng toán tử ternary là:
4
10
false
Str contains 'A'
i=10
i=10
Như bạn có thể thấy, chúng ta đang sử dụng toán tử ternary trong Java để tránh các câu lệnh if-then-else và switch case. Bằng cách này, chúng ta giảm bớt số dòng mã trong chương trình Java. Đó là toàn bộ về tổng quan nhanh chóng về toán tử ternary trong Java.