繁体   English   中英

怀疑for循环

[英]doubt in for loop

我有以下代码

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

我可以理解每次循环完成之前打印的第二个代码。 对于第一个代码,当x变为3时,if循环的值将增加到4,然后发生什么情况,它将进入sop或for循环以完成循环?

我编辑了您的条目,因为您错过了这样的代码...阅读问题之后,如果您看一下它的缩进方式,我认为您应该自己看看答案。

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

for循环由z的值控制,x的值与循环停止的时间无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM