这个问题只是好奇心:我想知道一些人int x在行之后会有什么价值x += ++x
所以我试过了:
int x=10;
x+=++x;
System.out.println(x);
Run Code Online (Sandbox Code Playgroud)
它打印出来:
21
Run Code Online (Sandbox Code Playgroud)
在使用其他值进行一些测试后,它似乎等于x = 2x + 1.为什么?此行是否由编译器解释为字节操作?(顺便说一下,x + = x ++似乎等于x = 2x).
我不认为这是我在项目中使用的东西,但我很想知道为什么我得到这个结果.
谢谢你的任何解释或提示
编辑:首先,感谢您的回答
我知道+=操作员的工作方式,以及x++和++x,但由于某种原因,(完全逻辑和明显的)结果对我来说似乎很奇怪我应该已经考虑过了,抱歉你的时间!
java ×1