黑马程序员技术交流社区

标题: i++跟++i有什么区别啊? [打印本页]

作者: cuidianlong    时间: 2015-4-5 03:26
标题: i++跟++i有什么区别啊?
求解答...
作者: smile2015    时间: 2015-4-5 03:46
i++是先赋值后加1,++i是先加1后赋值
作者: z小怪兽    时间: 2015-4-5 09:03
先用后加,先加后用,单条语句无区别
作者: 小小的黑马    时间: 2015-4-5 09:35
i++指的是后自增,跟具运算符的优先级,先进行其他的运算,再进行自增;++i指的是先自增,先进行自增再做其他运算
作者: 84489556    时间: 2015-4-5 09:41
++是表示自增

++1  是表示自身先进行加一,然后再去参与运算
比如说1++ ==4   这个时候 2会先和4比较,然后再3和4比较
1++  是表示先运算再自增,
比如说1++ ==4   这个时候 1会先和4比较,然后再2和4比较
作者: deziko    时间: 2015-4-5 10:00
i++是先运算后再自增,++i是先自增再运算
作者: lmcci    时间: 2015-4-5 10:05
如果只是单个语句的话 作用是相同的。
作者: DK_bai    时间: 2015-4-5 10:30
上面都答得很详细了,单个语句使用,它们没差别,都是累加1;要是有运算符参与,就有个运算优先级区别,
作者: 帆风顺    时间: 2015-4-5 10:41
i++ 是先使用i的值,再加1,++i是 i先加1,再使用 i的值。
作者: Nick_KJ    时间: 2015-4-5 11:06
前面各位朋友已经把区别说了。
你得明确你想做什么操作。如果只是for循环。
如 for(int i=0 ; i<10 ; i++),其实这里i++和++i没有区别。
但如果涉及返回或者for循环嵌套for循环,那么你就得区分了。

作者: 天空的彩虹    时间: 2015-4-5 12:43
嗯 如 for(int i=0 ; i<10 ; i++),其实这里i++和++i没有区别
作者: ReNeXt    时间: 2015-4-5 13:43
本帖最后由 ReNeXt 于 2015-4-5 13:51 编辑

i++(i--)是先引用后自加;++i(--i)是先自加后引用。(1)for循环里,i++和++i不涉及到i值得引用,所以没有区别
(2)但是在while(i--)循环体和while(--i)循环体中涉及到i值的引用,两者是有区别的。假设i=2,while(i--)循环体 判断3次,循环执行2次;        while(--i)循环体 判断2次,循环执行1次。

作者: One_M    时间: 2015-4-5 14:37
这种问题  好多人问了...建议你去找一些题目 做做...熟悉了就理解了...
作者: 时过境迁    时间: 2015-4-5 18:03
y=i++;  先把i的值赋给y,然后i自增加1.  y=++i;  i先自增加1,然后在把i的值赋给y。
作者: MartinYu    时间: 2016-7-5 11:40
我也不清楚!
作者: longforus    时间: 2016-7-5 16:13
i++是用了再加
++i是加了再用
作者: caesar_QMwS4    时间: 2016-7-5 21:34
单独使用没区别!
作者: 黑旋风唔够威    时间: 2016-7-5 22:04
i++是先赋值后加1,++i是先加1后赋值




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