黑马程序员技术交流社区

标题: i++和++i;和for循环中的i++ [打印本页]

作者: 呼雁潇    时间: 2016-1-8 09:50
标题: i++和++i;和for循环中的i++
i++;是先进行赋值操作,然后在自身加一
那在for(int i=1;i<=4;i++)中有没有赋值操作呢?我觉得应该有,可是我不懂,要是有了那i的值不就永远是1吗?
我是新手,求解释,总感觉迷迷糊糊的

作者: qq617631450    时间: 2016-1-8 22:44
那是哪初始值  读代码的顺序是这样的 for(int i = 1; i<=4;i++)
首先读 int i= 1   //就是定义一个int型变量为i并赋值为1;
然后就是  i大于或等于4吗?  1很定不大于或等于4,不满足这个条件就执行循环内容。。
执行完循环内容再来就是 i++   就是i的值+1.  //就是1+1 加完后i就等于2了
然后就读i<=4 这句。。就一直循环读下去。。直到瞒住i<=4 这个条件。。


作者: JasonSword    时间: 2016-1-9 05:19
for (初始化; 终止条件; 循环条件)
作者: android1.0    时间: 2016-1-9 22:37
qq617631450 发表于 2016-1-8 22:44
那是哪初始值  读代码的顺序是这样的 for(int i = 1; i

直到不满足条件结束循环
作者: a584587726    时间: 2016-1-11 22:07
i是先复制再自增,返回值是赋值前的1
作者: 王海平    时间: 2016-1-11 23:16
迷糊迷糊迷糊迷糊。。。。。。
作者: hard    时间: 2016-1-12 17:37
加入i=1,
那么在for循环中每循环一次i+1,也就是现在i=2
以此类推
作者: 白子羽    时间: 2016-1-12 22:56
睡前顶一下,看看帖子
作者: 白子羽    时间: 2016-1-12 23:08
睡前顶一下,看看帖子。
作者: x_starry    时间: 2016-1-15 21:48
对于for(int i=1;i<=4;i++)循环语句的执行顺序应该是:
首先执行int i=1,然后判断i是否小于等于4,根据这个判断结果的值来决定之后的语句,
循环期间这里的i的赋值语句只在一开始时被执行一次,也就是初始化一次,之后的循环过程在本语句中不再执行第二次。(表达能力有限希望能帮到你)
作者: Forwhat    时间: 2016-1-16 00:19
本帖最后由 Forwhat 于 2016-1-16 00:21 编辑

1,先执行i=1.这个就是赋值语句了
2,在判断i<=4,如果i小于等于4就执行程序体 { 这个 }
3,程序体完成后再进行i++。此处就是i自增,也就是i=i+1(从右往左执行,先i+1,再赋值给 i)。再进行步骤2的判断。
这样解释明白了吧
作者: JC小子    时间: 2016-1-16 00:40
这个是循环啊,首先i赋值了,值为1,
然后i<=4表示i最大值为4,也是循环的条件,
i++表示自增,
所有这个循环就是当i不满足最大值为4的时候就要继续循环i++,只到满足最大值为4后,就结束循环了
作者: 敲程序的猿    时间: 2016-1-16 10:32
for(int i=1;i<=4;i++)语句中
解释for(初始化语句; 条件语句;循环控制语句)
A:先执行初始化条件语句 int i = 1;
B:在执行条件语句,满足执行下一步。不满足跳出 ;这里i<4满足执行C操作
C:执行控制条件语句    ;执行 i++ 也就是 i=i +1;

作者: 呼雁潇    时间: 2016-1-16 10:34
x_starry 发表于 2016-1-15 21:48
对于for(int i=1;i

恩恩,谢谢了。
作者: DDK畅    时间: 2016-1-17 19:41
估计面向对象后 楼主就跪了
作者: 呼雁潇    时间: 2016-1-17 19:44
DDK畅 发表于 2016-1-17 19:41
估计面向对象后 楼主就跪了

哈哈,不会滴
作者: shenfuhan    时间: 2016-1-17 22:54
想多了,赋值操作是初始化
作者: 我爱睡觉    时间: 2016-1-18 02:05
i++ 和++i的不同体现在 赋值给其他变量的时候。。。
for(A;B;C)
循序是先执行A 然后判断 B 再然后 C 在然后 B ->C->B->C......直到循环结束
作者: 悠悠天下    时间: 2016-1-18 23:51
学习了,也是感刚刚学到着

作者: Robber    时间: 2016-1-19 20:22
for(int i = 1;i <=4;i++){
循环体1
}
中的int i = 4 是对i的初始化,只执行一次。进行i<=4判断,结果为true的话,执行循环体1,否则跳出for循环,之后执行i++,在进行判断i <=4;,如果结果为true,否则跳出for循环,在执行循环体1,,,,,,,
作者: zhanghuichuan    时间: 2016-1-28 18:24
i++基本相等于i=i+1;
作者: JamesFeng    时间: 2016-1-31 09:48
在for循环外面加一句cout<<i;你会发现输出4,说明是有重新赋值的。
作者: ambitios0    时间: 2016-1-31 15:58
楼上是对的,不过,重点你得理解
作者: 呼雁潇    时间: 2016-1-31 22:37
JamesFeng 发表于 2016-1-31 09:48
在for循环外面加一句cout

谢谢啦,明白了
作者: youngrivers    时间: 2016-2-7 00:44
赋值了,i++就是、
作者: shiax11    时间: 2016-2-7 07:50
初始值 循环条件 终止条件
作者: renkuo023    时间: 2016-2-8 15:44
for (初始化; 终止条件; 循环条件)
作者: liuzegang    时间: 2016-2-10 23:20
在循环体就有赋值操作了
作者: 曦正    时间: 2016-2-13 09:56
i++ 就等效于 i=i+1,第一个循环后,i=1+1;第二个循环之后i=2+1;就这样一直循环下去,知道i=4+1>4就终止循环了
作者: ydqyst    时间: 2016-2-24 23:14
哈哈,,,不必钻牛角尖
作者: cumtbao    时间: 2016-2-24 23:32
++i是先自增再参与运算;i++是先参与运算再自增
作者: JeromeLiee    时间: 2016-2-25 00:30
本帖最后由 JeromeLiee 于 2016-2-25 00:32 编辑

1、先进行赋值int i=1,然后进行i<=4判断,1<4符合判断语句;2、再进行循环语句,执行完毕进行i++,此时i=2;
3、再进行判断,直到i>4就退出循环。

作者: xuecmg    时间: 2016-2-25 12:36
学习了        
作者: 吴星辰    时间: 2016-2-25 12:51
++i更不好弄..
作者: Lily007    时间: 2016-2-25 15:20
i++,先给i赋值,然后再+1
作者: 泡泡鱼    时间: 2016-2-27 22:11
for(int i=1;i<=4;i++)语句中
解释for(初始化语句; 条件语句;循环控制语句)
A:先执行初始化条件语句 int i = 1;
B:在执行条件语句,满足执行下一步。不满足跳出 ;这里i<4满足执行C操作
C:执行控制条件语句    ;执行 i++ 也就是 i=i +1;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2