黑马程序员技术交流社区

标题: 关于自增运算 [打印本页]

作者: however_    时间: 2014-9-13 10:35
标题: 关于自增运算
自己以前一直纠结的东西
++:对原有的数据进行加1的操作
如果是单独的运算a++和++a结果是一样的
若跟其他运算符一起,就有区别了
例:
int a=3,b;
b=a++;
System.out.println("a="+a,"b="+b);//结果是a=4,b=3
如果是b=++a;
结果就是a=4,b=4;
当b=++a时,a先+1再赋值给b
a=3+1//a=4
b=a//b=4
如果是b=a++;
结果就是a=4,b=4;
当b=a++时,a把a=3存起来,然后计算a=a+1,最后把存起来的a赋值给b
int temp=a;
a=a+1;
temp=b;

a=3;
a=3+1//a=4
b=a//b=3

或者 另一种更方便的理解方式:
b=a++,从左到右算,b=a,然后算a++


作者: zhangxun    时间: 2014-9-13 10:37
理解的不错
作者: 不系之舟王    时间: 2014-9-13 11:09
这个自增运算,大一学c语言时弄懂了
作者: MR.Sun    时间: 2014-9-13 12:38
理解的不错哈
作者: hailong    时间: 2014-9-13 13:05
a++就是a先把值赋给b然后再做自增,而++a正好相反,是先做自增然后将自增后的值再赋给b
作者: however_    时间: 2014-9-13 16:37
不系之舟王 发表于 2014-9-13 11:09
这个自增运算,大一学c语言时弄懂了

所以,我又招鄙视了吗?
作者: however_    时间: 2014-9-13 16:38
hailong 发表于 2014-9-13 13:05
a++就是a先把值赋给b然后再做自增,而++a正好相反,是先做自增然后将自增后的值再赋给b ...

这样理解是容易记住的
作者: 不系之舟王    时间: 2014-9-13 20:43
however_ 发表于 2014-9-13 16:37
所以,我又招鄙视了吗?

没有,每个人有自己学习的盲点而已,我从大一开始学函数,到现在都没弄懂呢:L
作者: 谢建平    时间: 2014-9-14 09:24
  学习了11
作者: darkads    时间: 2014-9-14 09:45
自增运算虽然简单,但是一定要搞懂,很多地方都能看到他们的身影
作者: そ花痕ゐ蝶梦    时间: 2014-9-14 12:52
挺给力!




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