为了账号安全,请及时绑定邮箱和手机立即绑定

++i和i++的区别?

++i和i++的区别?

呼啦一阵风 2019-03-13 09:11:59
        for (int i = 0; i < 5 ; i++) {            System.out.println(i);        }                for (int i = 0; i < 5 ; ++i) {            System.out.println(i);        }        下面这个循环中++i不是应该先赋值后运算么,也就是第一次进来就已经i=1了,为什么两个循环输出都是0,1,2,3,4,5?
查看完整描述

7 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

兄弟啊,你这个问题和++i或i++没关系啊,你没有搞明白for循环是怎么执行的,for有三个表达式,第一个初始表达式,首次进for循环时候执行的,只会执行一次,第二个表达式是条件表达式,每次循环前先进行评估,如果为true则执行循环体,第三个表达式是循环体执行完之后再对该表达式求值。
所以i++和++i在这里对结果没有任何影响。

查看完整回答
反对 回复 2019-04-21
?
函数式编程

TA贡献1807条经验 获得超9个赞

翻译成while语句如下:


int i = 0;

while(i < 5) {

     System.out.println(i);

     i++;

     //++i; 这是第二种

}


查看完整回答
反对 回复 2019-04-21
?
MMTTMM

TA贡献1869条经验 获得超4个赞

这个问题源于你对for循环本身的不解,下面我们来看看她是如何被解释并执行的

https://img1.sycdn.imooc.com//5cbbcda50001195908000450.jpg

注意我选中的部分,现在还有疑问么?


查看完整回答
反对 回复 2019-04-21
?
郎朗坤

TA贡献1921条经验 获得超9个赞

我来说一下吧

i++等于return i; i=i+1;
++i等于i=i+1; return i;


查看完整回答
反对 回复 2019-04-21
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

https://img1.sycdn.imooc.com//5cbbcdb50001e6fa06860496.jpg

明明是0 1 2 3 4 ,怎么可能执行出5来呢?

查看完整回答
反对 回复 2019-04-21
  • 7 回答
  • 0 关注
  • 592 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信