int x = 1 , y = 2 , z = 3;
System.out.println(y+=z--/++x);
以上为题目,请问结果输出? 麻烦给出理由
java
------解决方案--------------------
z-- -->2
++x -->2
y+=1 -->3
------解决方案--------------------
y = y + z--/++x
y = y + 2 / 2
y = 2 +1 = 3
------解决方案--------------------
就是一个--和++以及运算优先级的问题了。
------解决方案--------------------
3
java的算法机制,先++ --,再乘除 ,之后再+- 最后等于
然而 ++ --在前面的话先加1减1再处理,反之是处理完了再加1减1
此处可以:y+=z/(1+x) ---y=y+1.5=3.5,然而 y是int类型,和四舍五入不一样,直接把小数点后面的舍去
所有最后输出的是3