Java高手请进!!!

为什么intx=10;x=++x;而x还是等于10;能来个高手指点迷津吗?谢谢了!!请尽量说详细点,把程序内部的运做说下,谢谢了!!... 为什么
int x=10;
x=++x;

而x还是等于10;能来个高手指点迷津吗?谢谢了!!
请尽量说详细点,把程序内部的运做说下,谢谢了!!
展开
 我来答
jayez
2006-09-08 · TA获得超过3292个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:450万
展开全部
这是初学者很容易迷惑的地方.
你这个写法虽然不会报错,但是不规范.
变量x没有结果,运行出来应该是11而不是10.
若改成x=x++; 运行出来才是10.
为什么呢?
当你写成x=++x;时,实际上是x先++,再把x++附值给x,最终x==11;
当你写成x=x++;时,实际上先执行的是x附值给x,再把x++,不过最后返回的x值是x++前的x,所以x==10;
一般来说写成++x或x++就行了,加个x=会使人迷惑.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式