A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© keyingchang0909 中级黑马   /  2016-4-21 23:31  /  878 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

i++ 和 ++i;
i-- 和 --i需要怎么去理解?

9 个回复

倒序浏览
i在加减号前,运算的时候就认为先按原来的值运算,然后再加一,i在加减号之后,运算时就先把原来的值加一再运算,我就是这样理解,希望能帮到你
回复 使用道具 举报
i++:先用后变,先用i的值作为表达式的值,然后i再加1.
++i:先变后用,先i+1,然后再作为表达式的值。
回复 使用道具 举报
这个有点抽象,不好理解啊
回复 使用道具 举报
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 再赋值

回复 使用道具 举报
i++  就是先将 i 赋值给变量  然后再给这个数加1.   ++i 就是反过来,也就是先给i + 1   然后再将i + 1 赋值给变量
回复 使用道具 举报
wuqi 中级黑马 2016-4-24 22:55:39
7#
今天上课也纠结了很久 最后同学给讲会了 使用的思路就是 i++是i值加一,结果值不变,++i是i加一结果值也加一
回复 使用道具 举报
++i先做加1运算,然后再返回值
i++是先返回值,然后再做加1运算
回复 使用道具 举报
额 貌似简单变量木有返回值的概念

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

++i是先+1,然后再给值,这样导致的现象就是你打印这个东西的时候,会比i大1
i++则是先给i的值,然后再+1,这样和前者不同的是,你在执行打印的时候,显示的是i的值,但一旦执行完毕后,i的值就变成了i+1
回复 使用道具 举报
分编好符号在前还是在后,符号在前就先变再用,符号在后就先用在变,结果都得+1,或-1.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马