i=i++;我們通過學習知道得到的i的值不變
<code>int i=10;
i=i++;
System.out.println(i);/<code>
通常如果只是用的話,記住i在前邊先賦值(i=i++,結果等於10),i在後邊後賦值(i=++i,結果等於11)
底層是怎麼實現i++的呢?
底層上的i++實際上是分為三步操作
<code>int i=10;
i=i++;//10
//三步
int temp = i
i=i+1;
i=temp; /<code>
這樣不是很好理解,如果把i=i++換成j=i++
<code> int i=10;
int j=i++;//10
//分為三步
int temp = i
i=i+1;
j=temp; /<code>
雖然經過了+1的操作,但是又被臨時變量覆蓋,所以值不變。
閱讀更多 來杯Java提提神 的文章