A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© drose 中级黑马   /  2016-5-29 18:48  /  3185 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x = 1,y = 1;

if(x++==2 & ++y==2)
{
        x =7;
}
System.out.println("x="+x+",y="+y);                        
这里面的   x++==2,是不是看作  ++ 参与运算时的使用?  所以x的输出值才是2?

9 个回复

正序浏览
随人有点绕,想明白哪个运算在前了,把他拆分这看就好了
回复 使用道具 举报
谁在前先用谁~~~
回复 使用道具 举报
GAREN 中级黑马 2016-5-29 21:11:36
8#
++在后面是先参加运算    再自增
回复 使用道具 举报
++在前,先参与运算再自增,++在后就先自增再参与运算
回复 使用道具 举报
2457740857 发表于 2016-5-29 20:43
好像上课的时候老师都有说吧?

额,我是自己看的,没上课。。。
回复 使用道具 举报
好像上课的时候老师都有说吧?
回复 使用道具 举报
++在背后是指先运算再自增,所以x参与运算的时候还是1,输出的时候是2,y是先自增在运算,所以y在运算的时候就已经是2了。输出结果是XY都为2
回复 使用道具 举报 1 0
x++ == 2;
先把 x的值拿跟2比较,相当于 1 == 2 ; false
然后 x++ 自己增加 1    相当于 x = x +1;  x 就等于2了。
++ y == 2 ;  反着来
回复 使用道具 举报 1 0
x++的意思是先参加运算  运算再自增1    ++y是先自增1  再参与运算
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马