i++ 和 ++i的區別
1. i++返回原來的值,++i返回+1后的值。
例如在一個Java程序中:
a = i++;可以分解成
a = i;
i = i+1;
a = ++i;可以分解成
i = i+1;
a = i;
分解之后,我們就能很明確的算出結果。i++和++i的主要區別在於+1和返回值的順序。從效率上來講++i要比i++更有效率,因為i++多申明了一個過渡變量,如下:
i++的實現
int temp ; temp = i ; i = i + 1; return temp ;
++id實現
i = i + 1; return i ;
總結:++i是在i存儲的值上加1,並向使用它的表達式返回新的加1后的值,既先加再返回
i++是在i存儲的值上加1,但是返回的是未加1的值,既先返回后再加。
一天一個小bug,fighting!!!
