Java初學者:continue和break


 我們前面已經說過了java的兩種循環:for循環和while循環,這次我們說一下關於這兩個循環的兩種特殊操作:continue和break。英語里,continue是繼續的意思,而break則是中斷的意思。其實在java里,這兩種操作也是這個意思,下面我們分別介紹一下這兩個操作。

    首先說一下continue,當循環里出現這個字,意思就是不再執行continue以后的操作,而是轉到循環開始那里進行條件判斷,如果可以,則進行新一輪的循環,否則就退出循環。這里的循環,可能是for循環,也可能是while循環。現在假設我們有一個如這樣形式的while循環:

    while(條件1)

    {

        語句1;

        if(條件2)

        {

             語句2;

             continue;

        } 

        語句3;

    }

    我們假設開始的時候條件1為true, 我們進入while循環,先是執行語句1,然后我們判斷條件2,假設此時條件2為true, 然后就會進入if里面,會執行語句2,然后執行contnue;

    然后呢?注意了,由於continue的關系,此時程序將直接跳轉到while后面的圓括號那里對條件1進行判斷,假如條件1還是true,我們又進入了while,執行語句1,然后判斷條件2,如果此時條件2為false, 則不進入if語句,於是我們將不會運行continue, 然后我們就會運行語句3, 然后回到while后面的圓括號那里對條件1進行判斷......。

    我想讀者此時不難發現,如果條件2一直為真,那么語句3將永遠無法被執行到。我們這里暫時並不討論這樣的操作有什么實際意義,只要先弄明白continue的原理就好。實際編程中,讀者可以靈活運用continue的特性。(有時候continue在循環里可以替代if-else語句,有時候則用來在特定情況下規避某些操作,比如,有可能用在鏈表和樹的操作上。)

    同樣的,如果continue出現在for循環里,其工作原理是一樣的,這里就不再贅述。


     那么,break呢?break就相對比較簡單了,break就是強制退出的意思,當一個循環中出現break並且被執行到,那么將強制退出循環,記住,是強制的,無條件的退出。現在假設我們有一個這樣的for循環:

    for(......)

    {

        語句1;

        break;

        語句2;

    }

    語句3;

    那么,當程序執行到break的時候,將會跳出這個for循環,而去執行語句3,當然,語句2將不會被執行到。

    下面,我們來寫個小程序來驗證一下continue和break,在這個程序中,我們先生成一個0到100之間的隨機數,然后我們使用for循環,i從0到100,如果i是那個隨機數,則跳出整個循環,如果i為偶數,則打印出來,如果為奇數,那么則跳過。以下是程序代碼和運行結果:

 

 注意,由於我們使用了隨機數,所以每次的運行結果如果不同,那是正常的,不同點就在於,那個隨機數不同,所以程序跳出的時候也是不同的,極端的情況是我們的隨機數是0,那么將不會打印出任何數字,直接跳出循環。屏幕上只會顯示Processing completely.

    以上這個小例子可以基本的說明了continue和break的特點。事實上,有些程序員並不贊成使用這兩種操作,認為這會破壞程序的可讀性和造成邏輯上的混亂,但是在我這個菜鳥來看,合理的運用continue和break,有時候能夠簡化代碼,而且能寫出比較精巧的程序來。總之仁者見仁智者見智,在以后的程序設計中,每個人都有自己的感受吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM