小康陪你學JAVA--------continu3和break的比較

來源:互聯網
上載者:User

標籤:style   blog   http   color   java   使用   strong   for   

     本篇將和大家做個continu3和break的比較。

    在Java語言中,有一些跳離的語句,如break、continue等語句,站在結構化程式設計的角度上,並不鼓勵使用,因為這些跳離語句會增加調試及閱讀上的困難。因此建議:除非在某些不得以的情況下之外,否則盡量不要去使用它們。在本篇中,將介紹break及continue語句。

 

break語句

     break語句可以強迫程式跳離迴圈,當程式執行到break語句時,即會離開迴圈,繼續執行迴圈外的下一個語句,如果break語句出現在嵌套迴圈中的內層迴圈,則break 語句只會跳離當前層的迴圈。以的for迴圈為例,在迴圈主體中有break語句時,當程式執行到break,即會離開迴圈主體,而繼續執行迴圈外層的語句。

以下面的程式為例,利用for迴圈輸出迴圈變數i的值,當i除以3所取的餘數為0時,即使用break語句的跳離迴圈,並於程式結束前輸出迴圈變數I的最終值。

01 // 下面的程式是介紹break的使用方法

02  public class TestJava3_32

03 {

04    public static void main(String[] args)

05  {

06   int i ;

07

08   for(i=1;i<=10;i++)

09   {

10   if(i%3 == 0)

11    break ;    // 跳出整個迴圈體

12   System.out.println("i = "+i);

13   }

14   System.out.println("迴圈中斷:i = "+i);

15  }

16 }

輸出結果:

i = 1

i = 2

迴圈中斷:i = 3

 

程式說明:

1、 第9~13行為迴圈主體,i為迴圈的控制變數。

2、 當i%3為0時,符合if的條件判斷,即執行第11行的break語句,跳離整個fo迴圈。此例中,當i的值為3時,3%3的餘數為0,符合if的條件判斷,離開for迴圈,執行第14行:輸出迴圈結束時迴圈控制變數i的值3。通常設計者都會設定一個條件,當條件成立時,不再繼續執行迴圈主體。所以在迴圈中出現break語句時,if 語句通常也會同時出現。

 

continue語句

     continue語句可以強迫程式跳到迴圈的起始處,當程式運行到continue語句時,即會停止運行剩餘的迴圈主體,而是回到迴圈的開始處繼續運行。以的for 迴圈為例,在迴圈主體中有continue語句,當程式執行到continue,即會回到迴圈的起點,繼續執行迴圈主體的部分語句。

     將程式TestJava3_32 中的break 語句改成continue 語句就形成了程式TestJava3_33.java。可以觀察一下這兩種跳離語句的不同。break語句是跳離當前層迴圈,而continue語句是回到迴圈的起點。程式如下所示:

01 // 下面的程式是介紹continue的使用方法

02  public class TestJava3_33

03 {

04    public static void main(String[] args)

05  {

06   int i ;

07

08   for(i=1;i<=10;i++)

09   {

10   if(i%3==0)

11    continue ;    // 跳出一次迴圈

12   System.out.println("i = "+i);

13   }

14   System.out.println("迴圈中斷:i = "+i);

15  }

16 }

輸出結果:

i = 1

i = 2

i = 4

i = 5

i = 7

i = 8

i = 10

迴圈中斷:i = 11

 

程式說明:

1、 第9~13行為迴圈主體,i為迴圈控制變數。

2、 當i%3 為0時,符合if 的條件判斷,即執行第11行的continue語句,跳離目前的for迴圈(不再執行迴圈體內的其他的語句),而是回到迴圈開始處繼續判斷是否執行迴圈。此例中,當i 的值為3、6、9時,取餘數為0,符合if 判斷條件,離開當前層的for迴圈,再回到迴圈開始處繼續判斷是否執行迴圈。

3、 當i 的值為11時,不符合迴圈執行的條件,此時執行程式第14行:輸出迴圈結束時迴圈控制變數i的值11。當判斷條件成立時,break語句與continue語句會有不同的執行方式。Break語句不管情況如何,先離開迴圈再說;而continue語句則不再執行此次迴圈的剩餘語句,直接回到迴圈的起始處。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.