黑马程序员技术交流社区
标题:
int x = 1; x = x++; ? ??
[打印本页]
作者:
我只追求完美
时间:
2015-3-10 23:34
标题:
int x = 1; x = x++; ? ??
System.out.print(x); 结果是多少?为什么?
作者:
浅步调
时间:
2015-3-11 01:51
结果是1;
x=x++;应该理解为右边的x将值赋值给左边的x再自身+1;此时左x=1,右x=2,
如果x=++x;结果就是左x=2,右x=2;意思就是右边的x在进行赋值运算之前先自身+1再将得到的值赋值给左边的x
在算数运算符中,当++ 或 --出现在变量前面就是“先自身加或减1,再去运算”;若出现在变量后就是“先运算完了,再来自身加或减1”
作者:
Catface
时间:
2015-3-11 02:13
1呀,x++先参与运算后x再自增,在自增前已将值赋予左边的变量了
作者:
waterfox
时间:
2015-3-11 03:14
1~~~~~~~~~
作者:
法国外籍军团
时间:
2015-3-11 07:00
明显是1,如果是x=++x;结果是2,主要是先加加 和后加加的区别
作者:
埗箬
时间:
2015-3-11 10:04
问号是输出的话,那么就应该是 2,先赋值,在自增。
作者:
langmb
时间:
2015-3-11 10:04
结果是1,因为x++是自增运算符,先将x的值赋予左边后,在自增1
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2