怀疑for循环

时间:2010-10-21 10:35:45

标签: java

我有以下代码

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);

}

为此输出为8 2

public static void main(String[] args) {
  // TODO Auto-generated method stub
  int x=0;
  int y=0;
  for(int z=0;z<5;z++){
    if((++x>2)||(++y>2))
      x++;

    System.out.println(x+" "+y);
  } 
}

我可以理解每次打印的第二个代码,直到循环完成。 对于第一个代码 当if变为3时,if循环中的值会增加到4,之后会发生什么变为sop或for循环才能完成循环?

2 个答案:

答案 0 :(得分:2)

我编辑你的条目,因为你错过了你的代码......阅读问题之后,我认为如果你看看它是如何缩进的,你应该自己看看答案。

未来的

:每次使用花括号 ,而不仅仅是块中有多行,否则你只会感到困惑。

答案 1 :(得分:1)

for循环由z的值控制,x的值在循环停止时没有影响。