| 運算子 | 功能 | 範例 |
|---|---|---|
| && | 邏輯且 | a && b |
| || | 邏輯或 | a || b |
| ?: | 條件選擇 | a ? b : c |
這裡須注意,只有布林值可以做條件邏輯且及邏輯或的運算,通常關係運算會得到布林值,因此常會以多組關係運算子 (retional operator) 的運算式 (expression) 利用條件運算子建構更複雜的運算式。
以下為邏輯且的例子
class ConditionAndDemo {
public static void main(String[] args) {
int a = 12;
int b = 22;
if (a > b && a != b) {
System.out.println("a > b");
}
if (a < b && a != b) {
System.out.println("a < b");
}
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:ConditionAndDemo.java
功能:示範條件運算子的使用
作者:張凱慶
時間:西元 2010 年 10 月 */編譯後執行,結果如下

以下為邏輯或的例子
class ConditionOrDemo {
public static void main(String[] args) {
int a = 12;
int b = 22;
if (a > b || a != b) {
System.out.println("yes, a > b || a != b");
}
if (a < b || a != b) {
System.out.println("yes, a < b || a != b");
}
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:ConditionOrDemo.java
功能:示範條件運算子的使用
作者:張凱慶
時間:西元 2010 年 10 月 */編譯後執行,結果如下

條件選擇運算子是唯一一個三元運算子,需要三個運算元,三個運算元皆可為運算式,如下圖

例子如下
class ConditionalDemo {
public static void main(String[] args) {
int a = 12;
int b = 22;
int c = a > b ? a : b;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println(c + " 較大");
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:ConditionalDemo.java
功能:示範條件運算子的使用
作者:張凱慶
時間:西元 2010 年 10 月 */編譯後執行,結果如下

| 中英文術語對照 | |
|---|---|
| 條件運算子 | conditional operator |
| 三元運算子 | ternary operator |
| 關係運算子 | retional operator |
| 運算式 | expression |
參考資料
http://download.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html
http://download.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html
沒有留言:
張貼留言