本帖最后由 doyxy 于 2014-4-27 12:29 编辑
重新思考了一下,大家看是这样的吗?发现还是有问题,y为什么是0呢?
|| 双或 前面为true后面不运行.... 终于ok了 这些运算符真是麻烦
//++x是先加了再运算,x++是先运算再++,那么
// ++x == y-- 即 1==1 (x=1,y=0,但是y先比较了再--)
// x++ == 1 即 1==1 (x=2,y=0)
// --y == 0 即 -1==0 (x=2,y=-1)
// true&true || false 结果为true
int x = 0, y = 1;
if (++x == y-- & x++ == 1 || --y == 0)
System.out.println("x=" + x + ",y=" + y);// x=2,y=0
else
System.out.println("y=" + y + ",x=" + x);
|