为什么不打破这个

时间:2014-10-01 14:51:05

标签: java

我的代码来自Oracle。

public class MyLoop {
  public static void main(String[] args) { 
    String[] sa = {"tom ", "jerry "}; 
    for(int x = 0; x < 3; x++) {
      for(String s : sa) {
        System.out.print(x + " " + s);
        if(x == 1) break; 
      }
    }
  }
}

输出:

0 tom 0 jerry 1 tom 2 tom 2 jerry

我正在学习java,我遇到过这个。我不明白为什么1 tom会在休息时间为1时打印出来。如果1 tom打印出原因,那么1 jerry

2 个答案:

答案 0 :(得分:1)

对于x的每个值,您要打印表格sa的全部内容,但x == 1除外,其中您只打印sa的第一个值:打印此值后,您需要检查x == 1,然后离开内循环并继续下一个x值。

答案 1 :(得分:-1)

首先检查&#34; x == 1&#34;然后打印。

String[] sa = { "tom ", "jerry " };
for (int x = 0; x < 3; x++) {

    for (String s : sa) {
        if (x == 1) {
          break;
        }
        System.out.print(x + " " + s);

     }
}