黑马程序员技术交流社区
标题:
for循环语句中的i++和++i有什么区别
[打印本页]
作者:
zhou_xingyu
时间:
2015-8-6 10:19
标题:
for循环语句中的i++和++i有什么区别
我知道++i和i++的区别在于执行+的前后顺序不一样,我现在想知道的是;在for循环中这两种表达是否也不同。如:区分 for(int i=0;i<5;i++)和for(int i=0;i<5;++i)这两种表达式的结果是否一样?我倒是认为是一样,至少从程序运行的结果来说,是一样的。不知道我的想法正不正确?
作者:
small_horse
时间:
2015-8-6 11:21
我也觉得结果是一样的,都是输出一个结果后,i 加1,再进入循环
作者:
流浪之子
时间:
2015-8-6 11:40
++i,是i先自增1,然后再参与运算,i++,是先参与运算,然后i在自增1,
作者:
流浪之子
时间:
2015-8-6 11:42
区分 for(int i=0;i<5;i++)和for(int i=0;i<5;++i)这两种表达式的结果是一样的,因为i++,和++i都独立存在
作者:
wowthe1st
时间:
2015-8-6 11:47
在这里肯定是一样的啊,++后语句就结束的话,那先加后加没区别
作者:
flywithde
时间:
2015-8-6 12:25
首先++i 和i++都是一个表达式,i是一个变量;这两个式子都会让i加一,但是表达式的值是不同的,如果赋值语句先遇到的是i则表达式的值就是i的值减去1(i的值是已经自加过了的值),否则则i的值。
作者:
bianning888
时间:
2015-8-6 12:39
你这里用的时候是一样的,但是你要把每次i的值打印出来,你打印位置不同会出来不一样的i值
作者:
895928691
时间:
2015-8-6 18:27
主要作用还是用来看i的值和i++的值
作者:
Maruka
时间:
2015-8-6 19:23
本题中一样。
作者:
WPeng
时间:
2015-8-6 22:30
咋这个位置时一样的
作者:
noway190
时间:
2015-8-6 22:36
在独立执行的时候,只涉及到i值时,是一样的吧
作者:
QQ2544
时间:
2015-8-6 23:07
在这个for语句的这个位置上,应该不影响程序的结果
作者:
liusuizuoyou
时间:
2015-8-6 23:16
i 的前后没有其他的运算 所以 ++ 在前 或在后 运算结果都一样
作者:
liusuizuoyou
时间:
2015-8-6 23:16
i 的前后没有其他的运算 所以 ++ 在前 或在后 运算结果都一样
作者:
xiaoshui
时间:
2015-8-6 23:17
要判断一下自增、自减语句是否结束
作者:
tt3tt3tt
时间:
2015-8-6 23:26
i++是运行完这条语言再自加,++i是先加再运行
作者:
庞佳星
时间:
2015-8-7 09:37
视频里有!!!好好看下
作者:
qq64694219
时间:
2015-8-7 15:40
独立的句子同样都是自加 ,但其根本还是不同的 i++ 先使用 再自增。 比如 a= i++ a=i 然后 再++
而++i 是 就是 i+1 a=++i 就是,先自增,然后把值赋给a
作者:
m小怪兽
时间:
2015-8-7 21:40
多看视频啊,视频里讲得很清楚
作者:
fersh
时间:
2015-8-7 22:00
在这里确实没啥区别
作者:
魏武
时间:
2015-8-7 23:00
在for中是没区别的,在别的地方,i++是先运算再自加,++i是先自加再运算!
作者:
第一梦
时间:
2015-8-8 00:24
for循环里边的i++和++i是完全一样的,你的想法很正确。这点我可以保证
。如果实在是要鸡蛋里头挑骨头的话,也有点区别,++i在速度上会比i++快一点,就快一点点,理由的话,i++会在内存上申请一个临时变量,保存i+1的值然后赋值给i,而++i没有赋值操作(这是课外话,快这一点完全可以忽略不计了,哈)。
作者:
STARlove
时间:
2015-8-8 09:33
++i,是i先自增1,然后再参与运算,i++,是先参与运算,然后i在自增1,
区分 for(int i=0;i<5;i++)和for(int i=0;i<5;++i)这两种表达式的结果是一样的,因为i++,和++i都独立存在
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2