條件運算符

條件運算符

編程語言中的符号
條件運算符的優先級高于賦值,逗号運算符,低于其他運算符。[1]
    中文名:條件運算符 外文名: 适用領域: 所屬學科: 性質:運算符 程序示例:ChooseDemo05java 屬性:條件

C語言

運算符

表達式為:表達式1?表達式2:表達式3

先求解表達式1,

若其值為真(非0)則将表達式2的值作為整個表達式的取值,否則(表達式1的值為0)将表達式3的值作為整個表達式的取值。

例如:

1、max=(a>b)?a:b

就是将a和b二者中較大的一個賦給max。

2、min=(a

就是将a和b二者中較小的一個賦給min。

優先級

條件運算符優先級高于賦值、逗号運算符,低于其他運算符

例如:

⑴m

等價于:(m

⑵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

與w

與(w

JAVA語言

形式

關系表達式?表達式1:表達式2

求值規則

求解關系表達式,根據關系表達式的布爾值決定取值:關系表達式的值為true時取表達式1的值;關系表達式的值為false時取表達式2的值。

說明

1、條件運算符的優先級低于關系運算符和算術運算符,高于賦值運算符。

2、JAVA中條件運算表達式中的關系表達式值的類型必須為布爾類型,隻能是true或false。

3、結合性也是右結合性。

4、與C語言不同的是,JAVA中條件表達式的值必須參與運算。

publicclassdemo{

publicstaticvoidmain(String[]args){

inta=10,b=20,y;

a>b?(y=a):(y=b);//1,這樣寫是錯誤的

y=a>b?a:b;//2,這樣寫是正确的

y=a

以上程序中,1處錯誤是由于條件表達式的值沒有參與運算,不能構成語句。3處(b

運算符妙用

——用條件表達式判斷輸出單詞的單複數。

程序示例:ChooseDemo05.java

程序中會自動根據apples的個數來輸出單詞的單數或複數。

publicclassChooseDemo05{

publicstaticvoidmain(String[]args){

intapples=1;//蘋果的個數

System.out.println("Ihave"+apples+"apple"+(apples==1?".":"s."));

當然,還有其他的應用:

1、在某些地方使用“他”還是“她”。

2、日期輸出時決定使用後綴“st”、“nd”等。

上一篇:公益二類

下一篇:水桶包

相關詞條

相關搜索

其它詞條