日期:2014-05-20  浏览次数:20725 次

这个程序计算出来是多少,求执行步骤详解
           
public static void main(String[] args) {
int x=1;
int y=2;
int z=3;
int c=y+=z--/++x-x;
System.out.println(c);
}

------解决方案--------------------
不是很复杂,大致计算步骤如下:
int c = y += z-- / ++x - x; // 原表达式
int c = y += 3 / ++x - x; // 这里 z-- 是延后计算
int c = y += 3 / 2 - x; // 这里 ++x 是提前计算
int c = y += 1 - 2; // 除法优先,此外int除法没有小数
int c = y += -1; // y += -1 其实就是:  y = y + -1
int c = y = 2 - 1;
int c = 1;