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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cheng_xu_yuan_ 中级黑马   /  2015-7-6 22:48  /  665 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请大神解释解释,我老感觉这个x++后的结果没人调用,所以结果应该是x=1吧,可是我运行了一下结果是x=2,求明白,求赐教:handshake
int x = 1,y = 1;

        if(x++==2 & ++y==2)       
        {
                x =7;
        }
        System.out.println("x="+x+",y="+y);

6 个回复

倒序浏览
有二年华i 来自手机 初级黑马 2015-7-6 22:56:57
沙发
x++=2中,会拿x和2比,之后x加一得二,
回复 使用道具 举报
我记得上课听的是,它临时创建了一个副本,如果不调用就会消失吧,现在这个x++后的结果,没被调用吧,输出的结果还应该是1吧,我是这么想的
回复 使用道具 举报
有二年华i 发表于 2015-7-6 22:56
x++=2中,会拿x和2比,之后x加一得二,

我记得上课听的是,它临时创建了一个副本,如果不调用就会消失吧,现在这个x++后的结果,没被调用吧,输出的结果还应该是1吧,我是这么想的

点评

也是这么理解的,x++是先运算,后自加,也就是说先用x原值1和2进行比较,结果是false,比较之后x在执行自加,这时x的值就是2。所以最后结果就是x为2。   发表于 2015-7-7 08:32
回复 使用道具 举报
cheng_xu_yuan_ 发表于 2015-7-6 23:02
我记得上课听的是,它临时创建了一个副本,如果不调用就会消失吧,现在这个x++后的结果,没被调用吧,输 ...

恩恩,现在明白了,结果是增加了,多谢解答
回复 使用道具 举报
有二年华i 发表于 2015-7-6 22:56
x++=2中,会拿x和2比,之后x加一得二,


恩恩,现在明白了,结果是增加了,多谢解答
老回复错,没玩过论坛
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马