``java
package com.atguigu.test06;
public class Test06 {
public static void main(String[] args) {
int i = 0;
change(i);
i = i++;
System.out.println("i = " + i);
}
public static void change(int i){
i++;
}
}
```
為什么i自加了兩次,運行結果依然等于0,而不是2?
uj5u.com熱心網友回復:
change函式中i只是值傳遞,是不會改變main中的i而i=i++, 當i入堆疊此刻i=0, 然后執行iinc指令,對i累加之后i=1,最后i出堆疊,這個i是之前壓入堆疊底的i所以最后i=0
i=i++是個不友好的寫法,遇到脾氣暴躁的可能會錘你一頓,你要是想++直接 i++或者++i就行了意思跟 i = i + 1是一個道理
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/243377.html
標籤:Java SE
