a++和++a

a++是先进行取值,然后再自增

++a是先进行自增,再进行取值

例子1:x=3,y=4

 (x++)+(++x)=?  答案是8

为什么呢?

对于第一个x++,先取值后自增,所以先取出3,然后x自增,x=4,最后x++=3

对于第二个++x,先自增再取值,所以先x自增x=5,然后把x取出来,最后++x=5

所以最终结果是3+5=8

例子2:

int i=10;
i=i++;

最后i等于多少?

i++是先取值,再自增

第一步:先取值,取出来的结果记作temp,temp=10

第二步:自增,i=11

第三步:进行赋值i=取出来的结果,也就是i=temp

所以最终i=10

另一个例子和这个例子一样:

        int b=0;
        for(int i=0;i<10;i++)
        {
          b=b++;
        }
        System.out.println(b);

最后b的结果不是10,而是0

这是因为每一轮都是这样三步:

第一步:先取值,取出来的结果 temp=0

第二步:自增,b=1

第三步:赋值,b=temp=0

所以每一轮最后b都等于0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值