2015-11-26 93 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'。