首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

Java 自加运算有关问题

2012-12-28 
Java 自加运算问题public class Test{public static void main(String[] arg){int x,y,jx0j0xj++Sy

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
[其他解释]
谢谢各位的解答,我似乎有点明白了

热点排行