一道运算题,希望能够有达人给予解答。非常感谢!

来源:百度知道 编辑:UC知道 时间:2024/07/08 00:20:37
很简单的一道题:
int x=5,y=3;
x+=x--*--y;
System.out.println(x);
题目是:x的最终结果是15。
但是我没有想通的是当x--运算完毕以后,x应该由之前的5变为4了,那么x--*--y的结果是10,然后经过x+=10的运算时,此x的值不是因为前面变成4了吗?是否是我对java算法有着致命的错误?

x--的意思是先取x的值再将x-1,
--y的意思是先将y+1再取y的值,
所以你的那个表达式翻译过来应该是
x=x+(x--*--y)
java表达式从左到右执行,所以进一步翻译就是:
x=5+(5*2)
所以x=15

沙发,没回答上。跟楼上意思一样