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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© however_ 中级黑马   /  2014-9-13 10:35  /  1222 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

自己以前一直纠结的东西
++:对原有的数据进行加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++

评分

参与人数 1黑马币 +6 收起 理由
格子、 + 6 很给力!

查看全部评分

10 个回复

倒序浏览
理解的不错
回复 使用道具 举报
不系之舟王 来自手机 中级黑马 2014-9-13 11:09:05
藤椅
这个自增运算,大一学c语言时弄懂了
回复 使用道具 举报
理解的不错哈
回复 使用道具 举报
a++就是a先把值赋给b然后再做自增,而++a正好相反,是先做自增然后将自增后的值再赋给b
回复 使用道具 举报
不系之舟王 发表于 2014-9-13 11:09
这个自增运算,大一学c语言时弄懂了

所以,我又招鄙视了吗?
回复 使用道具 举报
hailong 发表于 2014-9-13 13:05
a++就是a先把值赋给b然后再做自增,而++a正好相反,是先做自增然后将自增后的值再赋给b ...

这样理解是容易记住的
回复 使用道具 举报
however_ 发表于 2014-9-13 16:37
所以,我又招鄙视了吗?

没有,每个人有自己学习的盲点而已,我从大一开始学函数,到现在都没弄懂呢:L
回复 使用道具 举报
  学习了11
回复 使用道具 举报
自增运算虽然简单,但是一定要搞懂,很多地方都能看到他们的身影
回复 使用道具 举报
挺给力!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马