條件運算子也稱為三元運算子。該運算子由三個運算元組成,用於評估布林表示式。操作者的目標是決定;應將哪個值分配給變數。
條件運算子優先順序高於賦值、逗號運算子,低於其他運算子。
條件運算子是什麼
運算子
表示式為:表示式1?表示式2:表示式3
先求解表示式1,
若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
例如:
1、max=(a》b)?a:b
就是將a和b二者中較大的一個賦給max。
2、min=(a《b)?a:b
就是將a和b二者中較小的一個賦給min。
優先順序
條件運算子優先順序高於賦值、逗號運算子,低於其他運算子
⑴ m《n ? x : a+3
等價於:(m《n) ?(x) :(a+3)
⑵ a++》=10 && b--》20 ? a : b
等價於:(a++》=10 && b--》20) ? a : b
⑶ x=3+a》5 ? 100 : 200
等價於:x= (( 3+a》5 ) ? 100 : 200 )
結合性
條件運算子具有右結合性
當一個表示式中出現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。
w《x ? x+w : x《y ? x : y
與 w《x ? x+w : ( x《y ? x : y) 等價
與 (w《x ? x+w : x《y) ? x : y 不等價
JAVA語言:
形式
關係表示式 ? 表示式1 : 表示式2
求值規則
求解關係表示式,根據關係表示式的布林值決定取值:關係表示式的值為true時取表示式1的值;關係表示式的值為false時取表示式2的值。
說明
1、條件運算子的優先順序低於關係運算符和算術運算子,高於賦值運算子。
2、JAVA中條件運算表示式中的關係表示式值的型別必須為布林型別,只能是true或false。
3、結合性也是右結合性。
4、與C語言不同的是,JAVA中條件表示式的值必須參與運算。運算子妙用:
——用條件表示式判斷輸出單詞的單複數。
程式示例:ChooseDemo05.java
程式中會自動根據apples的個數來輸出單詞的單數或複數。
當然,還有其他的應用:
1、 在某些地方使用“他”還是“她”。
2、日期輸出時決定使用字尾“st”、“nd”等。
條件運算子也稱為三元運算子。該運算子由三個運算元組成,用於評估布林表示式。操作者的目標是決定;應將哪個值分配給變數。
條件運算子優先順序高於賦值、逗號運算子,低於其他運算子。
條件運算子是什麼
運算子
表示式為:表示式1?表示式2:表示式3
先求解表示式1,
若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
例如:
1、max=(a》b)?a:b
就是將a和b二者中較大的一個賦給max。
2、min=(a《b)?a:b
就是將a和b二者中較小的一個賦給min。
優先順序
條件運算子優先順序高於賦值、逗號運算子,低於其他運算子
例如:
⑴ m《n ? x : a+3
等價於:(m《n) ?(x) :(a+3)
⑵ a++》=10 && b--》20 ? a : b
等價於:(a++》=10 && b--》20) ? a : b
⑶ x=3+a》5 ? 100 : 200
等價於:x= (( 3+a》5 ) ? 100 : 200 )
結合性
條件運算子具有右結合性
當一個表示式中出現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。
例如:
w《x ? x+w : x《y ? x : y
與 w《x ? x+w : ( x《y ? x : y) 等價
與 (w《x ? x+w : x《y) ? x : y 不等價
JAVA語言:
形式
關係表示式 ? 表示式1 : 表示式2
求值規則
求解關係表示式,根據關係表示式的布林值決定取值:關係表示式的值為true時取表示式1的值;關係表示式的值為false時取表示式2的值。
說明
1、條件運算子的優先順序低於關係運算符和算術運算子,高於賦值運算子。
2、JAVA中條件運算表示式中的關係表示式值的型別必須為布林型別,只能是true或false。
3、結合性也是右結合性。
4、與C語言不同的是,JAVA中條件表示式的值必須參與運算。運算子妙用:
——用條件表示式判斷輸出單詞的單複數。
程式示例:ChooseDemo05.java
程式中會自動根據apples的個數來輸出單詞的單數或複數。
當然,還有其他的應用:
1、 在某些地方使用“他”還是“她”。
2、日期輸出時決定使用字尾“st”、“nd”等。