首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求分析一上“x++ + ++x”

2012-09-09 
求分析一下“x++ + ++x”请问下列代码为什么会输出4?我感觉应该是3吧?x++不是该在输出语句之后才执行自增1的

求分析一下“x++ + ++x”
请问下列代码为什么会输出4?我感觉应该是3吧?x++不是该在输出语句之后才执行自增1的吗?
请分析一下执行过程,谢谢!

Java code
int x = 1;System.out.println(x++ + ++x);


[解决办法]
这个问题,也算是月月有啊。。。

int x = 1;
System.out.println(x++ + ++x);

解释下就是:
System.out.println(1 + 3);


推荐下写的相当好的扫盲贴:http://www.ticmy.com/?p=43
[解决办法]
++ 的优先级比 + 的优先高。所以,先算++ , 再算 + 
i++ 是,将i进行++,而参于运算的是执行++以前的i值。
++i 是,将i进行++,而让执行++以后的i值,参于运算。
x++ + ++x的执行顺序是这样的:
1.x++:执行后,x = 2
2.++x:执行后,x = 3
3. + 运算:x++之前的x值为1;++i后,值为3;就是1+3
[解决办法]
x++ 是先取值再+1 这里x=1
之后+1 x=2
++x 是先+1再取值 这里是x=2+1=3

那么x++ + ++x,即为 1 + 3


输出应该是4

热点排行