java continue break 關鍵字 詳解 區別 用法 標記 標簽 使用 示例 聯系


 

本文關鍵詞:

java continue break 關鍵字 詳解 區別  用法 標記  標簽 使用 示例 聯系   跳出循環 帶標簽的continue和break 嵌套循環  深入continue break 跳出雙層循環 goto替代

 

continue和break都用來中斷循環,但是中斷內容不同

break是跳出循環, continue是跳出當次循環

                for (int i = 0; i < 6; i++) {

                        System.out.println(i);
                        if (3 == i) {
                                break;
                        }
                }

                System.out.println("++++++++++++++++");

                for (int i = 0; i < 6; i++) {

                        System.out.println(i);
                        if (3 == i) {
                                continue;
                        }
                }

 

從結果也可以看得出來:break跳出當前循環,continue跳出當次循環


 

詳細說明:

break在循環塊中的作用是跳出當前正在循環的循環體

continue用於結束循環體中當次循環其后語句的執行,並跳回循環程序塊的開頭執行下一次循環

如果是多層循環,原理仍舊相通,break跳出內層正在循環的循環體,continue跳回內層循環的開頭

也就是說多層循環下,break和continue仍舊是控制當前循環,並不是所有

 

                 for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        break;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }

 內層循環直接跳出中斷掉,外層循環依舊按順序執行

 

 

                 for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        continue;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }

外層循環依舊,內層循環僅僅跳過了j=2的值,其他的值依舊正常循環

 

 


 

如果帶標簽,那么break 和continue生效的循環就不再是當前了,而是標簽指定的

 

                label:
                for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        break label;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }

 

直接break 標簽的循環,執行了兩次就再也沒有輸出了

 
        
                label:
                for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        continue label;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }

 


continue跳出當次循環,繼續標簽處代表的循環進行繼續執行,所以下面的System.out.println();根本都執行不到的

 


免責聲明!

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



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