初学JAVA求设int x=10 int y=5 z=7计算结果 z=x++*y++ z=++x - y-- z=x++*2/y-- z=x++ - ++y

这个怎么计算出结果,请附运算过程说明谢了

public class Test {
public static void main(String[] args) {
int x=10,y=5 ,z=7;
z=x++*y++ ;//这里的++都在后面所以先计算后++
//也就是z=10*5;然后x=11;y=6;
System.out.println("z="+z+" x="+x+" y="+y);
z=++x - y--;//这里x的++前面先++那么x=12;y=6,则z=12-6=6然后y--。y=5了x=12;
System.out.println("z="+z+" x="+x+" y="+y);
z=x++*2/y--;
System.out.println("z="+z+" x="+x+" y="+y);
//++在后面,所以x=12,y=5先计算z=x*2/y=12*2/5=4(这里取整数部分了),然后x++,y--,所以x=13,y=4;
z=x++ - ++y;
//这里显示x的++后y++在钱,先y++,y=5,然后z=13-5=8
System.out.println("z="+z+" x="+x+" y="+y);

}
}
z在这里没什么其他意思,只是一个他们计算的值的代表,
你可以运行下我的程序,对照的看看会明白的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-04
先明白x++||y++||z++这个表达式结果只有可能2个值,0和1,||运算符有个特点,如果第一个表达式结果是真,则后面的表达式将不执行,因为x=5,结果非零,所以这里只执行了一个x++,最后x=6,y=6,z=8
第2个回答  2011-07-12
主要就是要区分后++和前++,后++是运算完后再加,前++是先加再运算,故
第一个:z=x*y=50
第二个:z=(x+1)-y=6
第三个:z=x*2/y=4
第四个:z=x-(y+1)=4追问

哦,明白了
不过这个表达式为什么要给出Z的值?而且还没用到?

第3个回答  2011-07-12
z=x++ * y++ ; //结果z=50,x=11,y=6 ,先运行x*y ,再运行x自增,y自增
z=++x - y-- ;//运行前x=11,y=6,结果z=6, x=12,y=5 这步x先自增1 在减6,y再自减1
后面类同
第4个回答  2011-07-12
调试下就可以看出来啦追问

如何调试?

追答

设置断点,选择调试就好