对于下一个代码,z是什么? (Java)
int x = 5;
int y = 10;
int z =++x*y--;
优先级顺序为:y--, ++x, *, =
。
(https://introcs.cs.princeton.edu/java/11precedence/)
为什么运行代码后z = 60?
答案 0 :(得分:0)
++运算符在表达式之前求值。
即:
int x = 10;
int y = ++x; //y = 11
int z = x ++; // z = 11;
答案 1 :(得分:0)
y--
在您的来源列表中更高。但是,当后减量发生时,它会在整个评估之后发生。
因此,如果在获得y
的值后打印z
,它将是9。
先进行预递增,所以++x
在该语句中变为6(并且显然乘以10)。
在文档中查看example。