日期:2014-05-20  浏览次数:20637 次

请教一个关于a--的小问题
int a = 5;
a = a--;
System.out.println(a);
 为什么输出是5?a--为什么不执行了?
 如果改成这样:
  int a = 5;
int b = a--;
System.out.println(a);
 输出就是4.就执行了a--。请问这是为什么呢?
 

------解决方案--------------------
探讨

引用:

System.out.println(a--+a);



这行语句点醒了我。。。
是不是说,a--+a中第一个a没有做--,保留了4的值,然后再“+”的时候先运行了a--,所以后面的a变成了3.

那么a = a--就是后面的a先保留了5的值,然后再“=”的时候做了a--,a变为4,然后在执行把刚才那个5赋值给a?