求指導,謝謝!
if ( ?sum = (sum + i)>20 ) {
System.out.print("當前的累加值為:" + sum);
? ?break;
//退出循環(huán)
正確答案是if(sum)>20 ? ?那我if ( ?sum = (sum + i)>20 ) ,這樣寫為什么不行
if ( ?sum = (sum + i)>20 ) {
System.out.print("當前的累加值為:" + sum);
? ?break;
//退出循環(huán)
正確答案是if(sum)>20 ? ?那我if ( ?sum = (sum + i)>20 ) ,這樣寫為什么不行
2016-01-13
舉報
2016-01-15
if((sum = (sum + i))> 20)
這樣寫就對了,為什么這么寫呢
是先給sum賦值,然后用sum進行判斷
如果按照你的寫法的話是按照運算符優(yōu)先級的話,應該先算(sum + i)這個,然后在算(sum + i)>20得到一個布爾類型的值,然后賦值給sum,但是在JAVA中sum是個int類型,如果將布爾類型賦值int類型是會報錯的
2016-01-15
是因為if判斷語句后面跟的是一個布爾類型的判斷語句,不能跟一個計算表達式
2016-01-14
因為if判斷語句后面跟的是一個布爾類型的判斷語句,你可以改成if((sum = (sum + i) > 20))或者if ( ?sum == (sum + i)>20 )
2016-01-13
或者把?sum = (sum + i)>20的括號去掉,寫成?sum = sum + i>20,還是錯誤,為什么?