課程
/后端開發(fā)
/Java
/Java入門第一季(IDEA工具)升級版
?int a=8,b=3,c=5;?double x = (a<c) ? b=c : a ;?System.out.println("輸出的結(jié)果為:"+x);
上式在Eclipse中可以運行
但我把條件運算符稍微改一下
把表達(dá)式1與2換個位置?double x = (a<c) ? a : b=c ;
再運行就報錯了
請問大神這是什么情況?
2016-09-04
源自:Java入門第一季(IDEA工具)升級版 3-7
正在回答
第一個不打括號也是可以運行的,相當(dāng)于c給b賦值之后再給x賦值,但是第二個如果不打括號是c要給前面的表達(dá)式賦值,這樣編譯是會顯示錯誤的。
叫我冒哥 提問者
我也剛學(xué) 你看看說的是這個意思不
還有,如圖中所示:提問者三個字在圓括號中,那么不加圓括號能不能知道你是提問者?
答:有圓括號更容易知道(明白)。所以圓括號明知道加與不加均可,還是為了更簡單讀懂加上吧。
同學(xué),你都逐一回復(fù)了,也給我回復(fù)吧?。。?/p>
int a=1,b=2,c=3,d=4;
a=b=c=d;
System.out.println(a);
提示b和c沒使用過。
證明:double x = (a<c) ? a : b=c ; ????? 中 ?????
???????????(a<c) ? a : b也同樣沒有被使用。
( ̄▽ ̄)"
其實也很簡單,第一個不用括號能行,那是因為(a<c)為false,然后它自動判斷為:后面的a了;然而,第二次的為:后面的b=c,它就會混亂,它就不會把(b=c)看做整體,即:是b,但是又有=號又有c,誤判地脫離了三目運算符了
?double x = (a<c) ? a : b=c ;把b=c打個括號,即:double x = (a<c) ? ?a:(b=c ) ;
舉報
0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語法開始
3 回答賦值運算符的除等于 求大神解答??
3 回答關(guān)于運算符的疑惑
2 回答算術(shù)運算和賦值運算問題,求大神解答。
1 回答條件運算符
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-09-05
第一個不打括號也是可以運行的,相當(dāng)于c給b賦值之后再給x賦值,但是第二個如果不打括號是c要給前面的表達(dá)式賦值,這樣編譯是會顯示錯誤的。
2016-09-25
我也剛學(xué) 你看看說的是這個意思不
2016-09-22
答:有圓括號更容易知道(明白)。所以圓括號明知道加與不加均可,還是為了更簡單讀懂加上吧。
2016-09-22
同學(xué),你都逐一回復(fù)了,也給我回復(fù)吧?。。?/p>
int a=1,b=2,c=3,d=4;
a=b=c=d;
System.out.println(a);
提示b和c沒使用過。
證明:double x = (a<c) ? a : b=c ; ????? 中 ?????
???????????(a<c) ? a : b也同樣沒有被使用。
( ̄▽ ̄)"
2016-09-04
其實也很簡單,第一個不用括號能行,那是因為(a<c)為false,然后它自動判斷為:后面的a了;然而,第二次的為:后面的b=c,它就會混亂,它就不會把(b=c)看做整體,即:是b,但是又有=號又有c,誤判地脫離了三目運算符了
2016-09-04
?double x = (a<c) ? a : b=c ;把b=c打個括號,即:double x = (a<c) ? ?a:(b=c ) ;