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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mingtianrsm 中级黑马   /  2014-10-2 16:04  /  1573 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以前对于int a = 3; int b = a ++;这个理解不是很清楚,看了几遍视频,在换了形式后还是会出错,现在终于弄明白了。
对于
int a = 3;
int b = a++;
可以将int b = a++;解析为:
int temp = 3;
a = a +1;
b = temp;
其内存中的运算过程与排序时我们定义中间变量差不多原理。

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

12 个回复

正序浏览
呵呵。 加油
回复 使用道具 举报
受教了~~~
回复 使用道具 举报
ql627666537 来自手机 中级黑马 2014-10-3 00:21:35
11#
使用后加1
回复 使用道具 举报
mingtianrsm 发表于 2014-10-2 16:38
第一种的结果貌似还没试~

这种结果的值是b=a+1哦!如果是++a,就表示先给a加个1再赋值给b,如果是a++就表示先把a赋值给b,然后再a自加1。
再还有多维数组的运算,也是要注意的重点哇!
回复 使用道具 举报
对于
int a = 3;
int b = a++;
可以将int b = a++;解析为:
int temp = 3;
a = a +1;
b = temp;
=============
这个理解仍然是有问题的.
应该是:
int temp = 3;
b = temp;
a = a +1;
注意一点: a=a+1;是在 b=temp之后执行的.

其实这么看:
int a = 3;
int b = a;
a = a+1;
没必要再引入一个temp变量.
回复 使用道具 举报
学习了.....
回复 使用道具 举报
毕老师的比喻很经典,你可以参考下
int b = ++a;回家(家代表++)吃完饭,再出去玩(玩代表赋值)
int b = a++; 先出去玩(玩代表赋值),再回家(家代表++)吃饭
回复 使用道具 举报
int b = ++a;是先进行自增再赋值
int b = a++; 是先进行赋值 再自增
回复 使用道具 举报
mingtianrsm 发表于 2014-10-2 16:42
好吧,有点草木皆兵了,这个就是很简单的将后面的运算结果赋值给前面吧~ ...

int a = 3; int b = a ++ ;b = a + b  b结果为7
int a = 3; int b = ++a ;b = a + b  b结果为8
小东西,弄明白其实就没多大问题了.

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

回复 使用道具 举报
唐王潮 发表于 2014-10-2 16:23
int b = ++a ,int b = a++ 做一次运算。结果都清楚吗?

好吧,有点草木皆兵了,这个就是很简单的将后面的运算结果赋值给前面吧~
回复 使用道具 举报
唐王潮 发表于 2014-10-2 16:23
int b = ++a ,int b = a++ 做一次运算。结果都清楚吗?

第一种的结果貌似还没试~:L
回复 使用道具 举报
int b = ++a ,int b = a++ 做一次运算。结果都清楚吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马