class TestI
{
public static void main(String [] args)
{
int i=0;
i=i++ + ++i;
System.out.println(i);
}
}这段程序结果为2,请问其执行过程是什么样的!

解决方案 »

  1.   

    i初始为0,先计算++i,这时i=1,所以i=i++ + ++i==>i=i+i(i=1);的结果为2
    不过建议楼主不要写这样可读性极差的代码,不利于程序的维护...
    到最后你会被搞得一个头变两个大...
      

  2.   

    = =#
    上面两位....
    先计算i++  先返回0,再增加i.得i=1;
    再计算++i, 先增加1,再返回i值2
    最后计算0+2
    所以结果为2
      

  3.   

    i=i++ + ++i;  赋值运算是从右往左算的,过程就向gwolf的似的,很清楚。