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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张文文 中级黑马   /  2014-12-12 21:36  /  1052 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

能不能用一句话让我明白。晕了最近

4 个回复

倒序浏览
你直接写个小程序,什么都会明白了
回复 使用道具 举报
int n = 1;
int a = n++;
执行完a等于1,n等于2
----------
int n = 1;
int a = ++n;
执行完a等于2,n等于2
----------
n++,先用后加
++n,先加后用
回复 使用道具 举报
n、++n、n++可以看成是   三个   变量;
无论是++n还是n++,执行后n都加1;
++n运行一遍,++n这个变量取加1之后的值;
n++运行一遍,n++这个变量取加1之前的值。
巧记:加在前面取加后值,加在后面去加前值。
回复 使用道具 举报
  1.      int b;
  2.      int a = 5;
  3.      b = (++a) + (a++);
复制代码

比如我这道基础测试题,第三句是一个赋值语句,赋值语句是从右开始执行的,所以先看a++,执行完这句后a为6,但是这里因为++是在a的后面,在这里参与运算的a的值还是为5,所以此时这句为 b=(++a)+5,
然后执行++a这句,前面的a++后a为6所以再加1,a的值为7,因为++在a的前面,所以在这里参与运算的a的值为7;
所以原句 b=(++a) +(a++);
经过执行后变为 b=7+5
所以最后打印时b=12,a=7
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马