Java提供了一個(gè)三元運(yùn)算符,可以同時(shí)操作3個(gè)表達(dá)式。三元運(yùn)算符語法格式如下:
判斷條件? 表達(dá)式1 :表達(dá)式2
在上述語法格式中,當(dāng)判斷條件成立時(shí),計(jì)算表達(dá)式1的值作為整個(gè)表達(dá)式的結(jié)果,否則計(jì)算表達(dá)式2的值作為整個(gè)表達(dá)式的結(jié)果。
三元運(yùn)算符的功能與if...else語法相同,但是使用三元運(yùn)算符可以簡(jiǎn)化代碼。例如,求兩個(gè)數(shù)x、y中的較大者,如果用if.else語句來實(shí)現(xiàn),具體代碼如下:
Int x = 0;
int y = 1;
int max;
if (x > y) {
max=x;
} else {
max = y;
}
System.out.println (max) ;
用三元運(yùn)算方法的具體代碼如下:
int x = 0;
int y= l;
max= x > y? x : y;
System.out.println (max) ;
兩段代碼的運(yùn)行結(jié)果都會(huì)得到max=1 。
使用三元運(yùn)算符時(shí)需要注意以下幾點(diǎn):
1. 條件運(yùn)算符“?”和“:”是一對(duì)運(yùn)算符,不能分開單獨(dú)使用。
2. 條件運(yùn)算符的優(yōu)先級(jí)低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,但高于賦值運(yùn)算符。
3. 條件運(yùn)算符可以進(jìn)行嵌套,結(jié)合方向自右向左。
例如,ab?axc>d?ed應(yīng)該理解為a>b?a:(exd?ead)這也是條件運(yùn)算符的嵌套情形,即三元表達(dá)式中的表達(dá)式2又是一個(gè)三元表達(dá)式。
(責(zé)任編輯:代碼如詩) |