这个程序计算出来是多少,求执行步骤详解public static void main(String[] args) {int x1int y2int z
这个程序计算出来是多少,求执行步骤详解
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; [其他解释] //拆开后 int c=y=y+z--/++x-x; //自己理解: 如有错误请斧正! //先Z/++后的x 结果等于1 然后自身减减等于0 //然后y+0-x 结果就是2+0-1 结果就是1 [其他解释] 先按照运算符的优先级拆分表达式:c=y+=z--/++x-x 1. 第一级别除法运算 z--/++x ,“/”优先级低于“--”故z自增后再除,x先自增在运算,故结果为 2/2 = 1;