黑马程序员技术交流社区

标题: 自增和自减 [打印本页]

作者: keyingchang0909    时间: 2016-4-21 23:31
标题: 自增和自减
i++ 和 ++i;
i-- 和 --i需要怎么去理解?

作者: king、小白    时间: 2016-4-21 23:51
i在加减号前,运算的时候就认为先按原来的值运算,然后再加一,i在加减号之后,运算时就先把原来的值加一再运算,我就是这样理解,希望能帮到你
作者: 堕落天使    时间: 2016-4-22 07:44
i++:先用后变,先用i的值作为表达式的值,然后i再加1.
++i:先变后用,先i+1,然后再作为表达式的值。
作者: huangyueqil    时间: 2016-4-22 19:46
这个有点抽象,不好理解啊
作者: 我说三年    时间: 2016-4-24 13:43
int i = 0;
int j = i++;
这时候的 j 是0,而 i 是1了。
int i = 0;
int j = ++i;
这时候的 i 是1 ,而 j 也是1。
楼主可以理解为:i++是先赋值给 j 然后 i 再加1。   而++i 是先加 1 再赋值


作者: h962464    时间: 2016-4-24 21:07
i++  就是先将 i 赋值给变量  然后再给这个数加1.   ++i 就是反过来,也就是先给i + 1   然后再将i + 1 赋值给变量
作者: wuqi    时间: 2016-4-24 22:55
今天上课也纠结了很久 最后同学给讲会了 使用的思路就是 i++是i值加一,结果值不变,++i是i加一结果值也加一
作者: Latinno    时间: 2016-4-24 23:23
++i先做加1运算,然后再返回值
i++是先返回值,然后再做加1运算
作者: Latinno    时间: 2016-4-24 23:25
额 貌似简单变量木有返回值的概念

我是不是学OC学迷糊了。。。

++i是先+1,然后再给值,这样导致的现象就是你打印这个东西的时候,会比i大1
i++则是先给i的值,然后再+1,这样和前者不同的是,你在执行打印的时候,显示的是i的值,但一旦执行完毕后,i的值就变成了i+1
作者: 妖精的尾巴_wzn    时间: 2016-5-5 13:20
分编好符号在前还是在后,符号在前就先变再用,符号在后就先用在变,结果都得+1,或-1.




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