關(guān)于條件運(yùn)算符的疑惑,求大神解答
?int a=8,b=3,c=5;
?double x = (a<c) ? b=c : a ;
?System.out.println("輸出的結(jié)果為:"+x);
上式在Eclipse中可以運(yùn)行
但我把條件運(yùn)算符稍微改一下
把表達(dá)式1與2換個(gè)位置?double x = (a<c) ? a : b=c ;
再運(yùn)行就報(bào)錯(cuò)了
請(qǐng)問(wèn)大神這是什么情況?
2016-09-05
第一個(gè)不打括號(hào)也是可以運(yùn)行的,相當(dāng)于c給b賦值之后再給x賦值,但是第二個(gè)如果不打括號(hào)是c要給前面的表達(dá)式賦值,這樣編譯是會(huì)顯示錯(cuò)誤的。
2016-09-25
我也剛學(xué) 你看看說(shuō)的是這個(gè)意思不
2016-09-22
答:有圓括號(hào)更容易知道(明白)。所以圓括號(hào)明知道加與不加均可,還是為了更簡(jiǎn)單讀懂加上吧。
2016-09-22
同學(xué),你都逐一回復(fù)了,也給我回復(fù)吧?。?!
int a=1,b=2,c=3,d=4;
a=b=c=d;
System.out.println(a);
提示b和c沒(méi)使用過(guò)。
證明:double x = (a<c) ? a : b=c ; ????? 中 ?????
???????????(a<c) ? a : b也同樣沒(méi)有被使用。
( ̄▽ ̄)"
2016-09-04
其實(shí)也很簡(jiǎn)單,第一個(gè)不用括號(hào)能行,那是因?yàn)椋╝<c)為false,然后它自動(dòng)判斷為:后面的a了;然而,第二次的為:后面的b=c,它就會(huì)混亂,它就不會(huì)把(b=c)看做整體,即:是b,但是又有=號(hào)又有c,誤判地脫離了三目運(yùn)算符了
2016-09-04
?double x = (a<c) ? a : b=c ;把b=c打個(gè)括號(hào),即:double x = (a<c) ? ?a:(b=c ) ;