关于Java中a++和++a的区别

                 关于Java中a++和++a的区别

这篇文章是给刚接触Java的人看的,高手请忽略。初学Java的同学可能会对这两者有点懵逼,搞不清楚他俩的区别,尤其在一些计算题中。
在讲这个问题之前,大家先看一个题目

不知道大家是否看一眼是否就已经有了答案,不管大家的答案是什么,我想告诉大家的是正确答案是9和11,首先说i++的原理,i++这个运算符是先参与运算自身的值再自加1,而++i这个运算符是先自加1然后再参与运算。

        首先分析一下上面代码的执行流程,第一句输出语句输出的是i++根据我们刚才说的原理,它应该是先参与运算,也就是先输出结果9,输出结果后然自加1变成了10,然后执行第二句输出语句输出++i,根据刚才说的++i是先自加,这个时候i的值为10,自加后就变成了11,输出结果就是11,所以上面代码的执行结果为9和11。

        总结:关于两者的区别大家记住一句话i++是先参与运算然后自加1,++i是先自加1然后参与运算。

下面大家再看一道面试中的基础小题目,设x=1,y=2,z=3,则表达式y+=z--/++x的值是( )。

A.  3           B.  5         C.  4         D.  5

这个题目的答案是A

首先由于Java中运算符的优先级关系,z--是先参与运算,++x先自加1变成了2,z/x=3/2=1,y=y+1=2+1=3;所以最后的结果为3,这个表达式执行完后各变量的值分别为y=3,x=2,z=2。

下面看一下这个for循环表达式

for (int i = 0; i < 8; i++) {
程序代码块

    }

for循环的执行流程是这样的,先将i和8比较看是否满足条件,如果满足i<8那么执行for循环里面的代码块,而不是i++,

执行完for循环里面的代码块后i自加1,这就是为什么for循环的执行流程是这样的原因。


  • 38
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值