public class Test
{
public static void main(String args[])
{
int x = 0;
int y = 0;
for(int z=0; z<5; z++)
{
if(++x>2 || ++y>2)
{
x++;
}
}
System.out.println(x + " " + y);
}
}
将这个程序的循环流程每一步详细的给出(注意:不是要求一个简单的结果)

解决方案 »

  1.   

    public class Test
    {
    public static void main(String args[])
    {
    int x = 0;
    int y = 0;
    for(int z=0; z<5; z++)
    {
    System.out.println("x外="+ x + " " + "y外=" + y);
    if(++x>2 || ++y>2)
    {
      System.out.println("x内上="+ x + " " + "y内上=" + y);
      x++;
      System.out.println("x内下="+ x + " " + "y内下=" + y);
    }
    }
    System.out.println(x + " " + y);
    }
    }x外=0 y外=0
    x外=1 y外=1
    x外=2 y外=2
    x内上=3 y内上=2
    x内下=4 y内下=2
    x外=4 y外=2
    x内上=5 y内上=2
    x内下=6 y内下=2
    x外=6 y外=2
    x内上=7 y内上=2
    x内下=8 y内下=2
    8 2
    谁能告诉我y值为什么变化到2就不在变化了
      

  2.   

    这个跟 || 有运算有关吧....
    因为 当y=2的时候,x=3了.
    所以每次进if 的时候x就已经满足需的条件..
      

  3.   

    你的x 增长的比y快,++x > 2 的条件先满足,所以||之后的根本不在运行了阿,这就是为什么||的左边是符合判断可能性大的,而&&左边是符合判断可能性小的,因为这样后面的判断不用运行,使得效率提高
      

  4.   

    ++x
    是先加1再作其它动作
    x=0
    ++x>2
    其实是1 > 2吗?x++
    是先作其它动作再自加1
    我想你要弄懂这个就OK
      

  5.   

    不好意思
    我最出理解错了class A
    {
        public static void main(String [] args)
        {
    int x, y, z;
    x = 0; y = 0;
    for(z = 0; z < 5; z++)
    {
        System.out.println("x-out = " + x + " ; y-out = " + y);
        if(++x > 2 | ++y > 2) // | 不会中途“短路”
        {
    System.out.println("x-inup = " + x + " ; y-inup = " + y);
    x++;
    System.out.println("x-indown = " + x + " ; y-indown = " + y);
        }
    } System.out.println("finally : x = " + x + "  y = " + y);
        }
    }result:x-out = 0 ; y-out = 0
    x-out = 1 ; y-out = 1
    x-out = 2 ; y-out = 2
    x-inup = 3 ; y-inup = 3
    x-indown = 4 ; y-indown = 3
    x-out = 4 ; y-out = 3
    x-inup = 5 ; y-inup = 4
    x-indown = 6 ; y-indown = 4
    x-out = 6 ; y-out = 4
    x-inup = 7 ; y-inup = 5
    x-indown = 8 ; y-indown = 5
    finally : x = 8  y = 5
    || 运算符有可能中途“短路”
    而 | 不会
      

  6.   

    支持||,&&,也可以多看看书.