Java三元運算子是唯一採用三個運算元的條件運算子。Java三元運算子是if-then-else
語句的單行替換方案,它在java程式設計中使用非常廣泛。也可以使用三元運算子來替換switch-case
語句。
Java三元運算子
java三元運算子中的第一個運算元應該是布林值或帶有布林結果的語句。如果第一個運算元為true
,則java三元運算子返回第二個運算元,否則返回第三個運算元。
java三元運算子的語法是:
result = boolean_test_statement ? value1 : value2;
如果boolean_test_statement
為true
,則將value1
分配給result
變數,否則將value2
分配給result
變數。
下面來看一個java程式中的三元運算子的例子。
// Power by tw511.com
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 = "Tw511.com";
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;
}
}
執行上面範例程式碼,得到以下結果 -
4
10
false
Str doesn't contains 'A'
i=10
i=10
正如上面所看到的,程式碼使用java三元運算子來代替if-then-else
和switch case
語句。這樣就減少了java程式中的程式碼行數。