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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1936064423 中级黑马   /  2016-11-5 20:56  /  1931 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

无法理解

7 个回复

倒序浏览
强行记住,先加后加就行了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
a++是先取a的值,再自加,++a是先自加,后取值。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
a++先参与式子运算再加1。++a加1后参与运算
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
a++是a先赋值,然后a自加1
++a是a先自加,然后再赋值
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
前加加是a自身加1后再赋值,后加加是先赋值然后a自身加一
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
本帖最后由 名侦探柯基 于 2016-11-7 11:49 编辑

分两部分理解1)++a和a++都是自增运算
所以进行自增运算之后,a的值都会+1
2)++a和a++表达式的值
++a加号在前面,所以先让a的原值+1作为表达式的值
a++加号在后面,所以a的原值作为表达式的值

直观一点就是:
int a=2,b=0;
b=++a;
执行第一行的时候,a=2,b=0;
执行第二行的时候,加号在前面,所以先让2+1赋值给b,b=3。由于a自增,所以a=3;

int a=2,b=0;
b=a++
执行第一行的时候,a=2,b=0;
执行第二行的时候,加号在后面,所以先让2赋值给b,b=2。由于a自增,所以a=3;



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马