2015-11-26 98 views
-1

我测试Java代码和I'de喜欢数字打印从1到10为什么这样打破工作?

import java.util.Timer; 
import java.util.TimerTask; 
import java.util.Random; 

public class test2 
{ 
    test2() 
    { 
     for (int i = 0; i<10; i++) 
     { 
      System.out.println(i); 
      if (i == 5) 
       break; 
      if (i == 6) 
       break; 
      System.out.println(i); 
      break; 
     } 
    } 

    public static void main(String[] args) 
    { 
     new test2(); 
    } 
} 

如果我删除最后break,代码工作。但如果我不删除它,只有数字0被打印。为什么?。

+0

最后一个中断将始终执行,因此循环将只运行1次,并且第一次运行时等于0,因此它只打印0. –

+0

如果删除,则不会打印数字1到10最后的休息。它打印0,0,1,1,2,2,3,3,4,4,5。 –

+0

是的谢谢..... –

回答

5

break;突破循环。因此,没有条件的最后一个中断会导致循环在第一次迭代之后终止。

1

break;留下一个循环。

break语句有两种形式:带标签和无标签。您在switch语句中看到了未标记的表单。您也可以使用未标记的中断来终止for,while或do-while循环[...]

未标记的break语句终止最内层的switch,for,while或do-while语句,但标记为休息终止外部陈述。

+1

而不使用任何语句也将继续下一次迭代。不需要使用“继续”。 – Seelenvirtuose

0

当控件达到最终的'中断'时,它没有发现任何条件。因此,它将强制中断循环,因此只打印'0'。

也是第一次在循环中,控件不会进入任何'if'。