課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
我想問下,為什么我這里的three=one+two.運算出來的結果是0呢?three1既然已經被我賦予one+two不該是10+20是30嗎?
2016-10-01
源自:Java入門第一季(IDEA工具)升級版 3-3
正在回答
理解java中各運算符的優先級即可,一步一步往下執行
經過最后int three6=three1%=one;
最終
three1=0;
three3=30;
three4=300;
three5=30;
three6=0;
慕雪1790920 提問者
慕粉4021294 回復 慕雪1790920 提問者
程序都是依照順序結構執行的,即自上而下一步步執行。因此,在你還沒有使用System.out.println()的時候,three1的值已經有了多次的變化。第一次的確是30,但后面就又改變了,因為你使用了+=運算符(加上數后再賦值),相比+運算符多了個賦值的變化。具體情況分析,參照樓上同學。
可是后面那些three1+=one、three1-=one、three1*=one....語句都是先對three1進行復合賦值操作,再把three1賦值給左邊的變量...最后一個操作也就是three1%=one讓three1的值變為0了
因為數據都被定義成的靜態變量 (static)
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
1 回答three=one+two
2 回答為什么 three = one + two;不能int three = one + two 嗎
3 回答 int one = 10 ; int two = 20 ; int three = 0; three=one+two; three=three/one;=0 three/=one;=30我始終不明白three/=one為什么等于30
3 回答int one = 10 ; int two = 20 ; int three = 0 ;為什么three=one+two
2 回答three=one+two;有什么用?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-01
理解java中各運算符的優先級即可,一步一步往下執行
經過最后int three6=three1%=one;
最終
three1=0;
three3=30;
three4=300;
three5=30;
three6=0;
2016-10-01
程序都是依照順序結構執行的,即自上而下一步步執行。因此,在你還沒有使用System.out.println()的時候,three1的值已經有了多次的變化。第一次的確是30,但后面就又改變了,因為你使用了+=運算符(加上數后再賦值),相比+運算符多了個賦值的變化。具體情況分析,參照樓上同學。
2016-10-01
可是后面那些three1+=one、three1-=one、three1*=one....語句都是先對three1進行復合賦值操作,再把three1賦值給左邊的變量...最后一個操作也就是three1%=one讓three1的值變為0了
2016-10-01
因為數據都被定義成的靜態變量 (static)