回 帖 发 新 帖 刷新版面

主题:求教:关于a=a++;的问题

在写代码的时候遇见一个问题
int a = 10 ;
a = a++ ;
System.out.println(a);
结果是10,而不是我预料的11。我问同学他们都没有给给出满意的答案,都是从答案推导问题。我希望得到一个合理的推导,最好能说明具体的内存分配。

虽然这个语句没什么用,但是我还是想明白为什么

回复列表 (共1个回复)

沙发

[size=2]
弄清楚a++和++a的区别就明白了 
单独作为一条语句: a++和++a 是没有区别的  下一条语句引用a的时候 a的值都自增了;
但作为变量参与运算的时候 a++和++a就不同了 

java是对象引用的方式来做的
所以这里不只一个"a"了

int a=10;
int b=0;
b=a++;
System.out.println("a="+a+"  b="+b);

你把b和a的位置换换应该能明白了[/size]

交流论坛:

[url]http://www.591pic.com[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册