当前位置: 代码迷 >> Java相关 >> Java 自加运算有关问题
  详细解决方案

Java 自加运算有关问题

热度:4864   发布时间:2013-02-25 21:43:39.0
Java 自加运算问题
public class Test{
public static void main(String[] arg){
int x,y,j;
x=0;
j=0;
x=j++;
System.out.println(x);
y=j;
System.out.println(y);
}
}
输出结果为:0 1


public class Test{
public static void main(String[] arg){
int x,y;
x=0;
x=x++;
System.out.println(x);
y=x;
System.out.println(y);
}
}
输出结果为:0 0

为什么呢?
------最佳解决方案--------------------------------------------------------
因为 x=x++; 可以分解为三个动作:
1、计算右等式的结果,即:0
2、完成 x++ 运算,即 x ==> 1
3、完成赋值表达式: x = 0 
------其他解决方案--------------------------------------------------------
http://www.ticmy.com/?p=43
------其他解决方案--------------------------------------------------------
 
x=x++;
这句话是先把x的值赋给x,然后x自身++,所以这是x=0,
如果是x=(++x);这是先x自身++,然后把x的值赋给x所以此时x=1
------其他解决方案--------------------------------------------------------
谢谢各位的解答,我似乎有点明白了
  相关解决方案