課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
?int a=8,b=3,c=5;?double x = (a<c) ? b=c : a ;?System.out.println("輸出的結果為:"+x);
上式在Eclipse中可以運行
但我把條件運算符稍微改一下
把表達式1與2換個位置?double x = (a<c) ? a : b=c ;
再運行就報錯了
請問大神這是什么情況?
2016-09-04
源自:Java入門第一季(IDEA工具)升級版 3-7
正在回答
第一個不打括號也是可以運行的,相當于c給b賦值之后再給x賦值,但是第二個如果不打括號是c要給前面的表達式賦值,這樣編譯是會顯示錯誤的。
叫我冒哥 提問者
我也剛學 你看看說的是這個意思不
還有,如圖中所示:提問者三個字在圓括號中,那么不加圓括號能不能知道你是提問者?
答:有圓括號更容易知道(明白)。所以圓括號明知道加與不加均可,還是為了更簡單讀懂加上吧。
同學,你都逐一回復了,也給我回復吧?。。?/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基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
3 回答賦值運算符的除等于 求大神解答??
3 回答關于運算符的疑惑
2 回答算術運算和賦值運算問題,求大神解答。
1 回答條件運算符
1 回答關于“”和‘’的問題求大神解答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-09-05
第一個不打括號也是可以運行的,相當于c給b賦值之后再給x賦值,但是第二個如果不打括號是c要給前面的表達式賦值,這樣編譯是會顯示錯誤的。
2016-09-25
我也剛學 你看看說的是這個意思不
2016-09-22
答:有圓括號更容易知道(明白)。所以圓括號明知道加與不加均可,還是為了更簡單讀懂加上吧。
2016-09-22
同學,你都逐一回復了,也給我回復吧?。。?/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 ) ;