public class MyCode5{
public static void main(String[] args){
int i = 1;
int j = 1;
i = i++;
j = ++j;
System.out.println("i = "+i);
System.out.println("j = "+j);
}
}
運行結果:
i = 1
j = 2
由上可知,”i++“與”++i“不同,程序運行時總是計算完等式右邊的表達式後再賦值,++也是如此。
i++ 等價於 (int temp = i; i = i+1; temp)
++i 等價於 (i = i+1; i)
因此,
i = i++
等價於
int temp = i;
i = i+1;
i = temp; //等式賦值
j = ++j;
等價於
j = j+1; //前置++運算
j = j; //等式賦值