请教一个java运算

来源:百度知道 编辑:UC知道 时间:2024/06/07 04:46:10
public class E
{ public static void main (String args[ ])
{ int x=10,y=5,z=100;

if(x>y)

x=z;

else

y=x;

z=y;
System.out.println(" "+(x+y+z));
}
}
结果等于110 我是刚学java 不明白为什么得110 请哪位好心人帮帮忙 谢谢

这个程序,你只要按着步骤往下看,就可以得出答案了。
初始值:
x:10
y:5
z:100

经过判断(x>y)满足要求,所以走x=z;
此时:
x:100
y:5
z:100

最后一步z=y;
x:100
y:5
z:5

所以最后的和是110啊!

不管条件怎么判断,
反正最后输出的都是 X+Y+Z
我认为不可能等于110

if(x>y) 是true;
所以执行 x=z; (x=100)
而不执行y=x;
再执行z=y; (z=5)
System.out.println(" "+(x+y+z)); //100+5+5 =110 (y没变还是5)

你的程序原型是:
public class E
{ public static void main (String args[ ])
{ int x=10,y=5,z=100;

if(x>y)
{
x=z;
}
else
{
y=x;
}
z=y;
System.out.println(" "+(x+y+z));
}
}

这个啊,很容易啊:如下
int x=10,y=5,z=100
if(x>y) x=z; x大于y所以x=100了。。
else y=x; 由于x>y所以这个不执行。y还是5
z=y; 这句一定会执行的。因为不属于if里了。所以z=5
System.out.println(" "+(x+y+z)); 求三者的各x+y+z=100+5+5=110
}
}就是这个样子~~~

/*可以执行一步打印出来,看看就明白了*/
int x = 10, y = 5,