Day16 break-continue-goto

1hahahahahahahaha發表於2024-10-16

Day16 break-continue-goto

break在任何迴圈語句的主體部分,可用其控制迴圈流程,強行退出迴圈,不執行迴圈中剩餘的語句,break語句也在 switch 語句中使用。

continue 語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。

關於 goto 關鍵字,

​ 很早就在程式設計語言中出現。儘管 goto 仍是 Java 的一個保留字,但並未在語言中得到正式使用,Java 沒有 goto。然而,在 break 和 continue 這兩個關鍵字上,仍能看出一些 goto 的影子,即帶標籤的 break 和 continue。

​ “標籤”是指後面跟一個冒號的識別符號,例如:label:。

​ 對 Java 來說唯一用到標籤的地方是在迴圈語句之前,在迴圈之前設定標籤的唯一理由是希望在其中巢狀另一個迴圈,由於 break 和 continue 關鍵字通常只中斷當前迴圈,但隨同標籤使用,它們就會中斷到存在標籤的地方。

break和continue的區別

break例項:

i從0開始,每次迴圈i增加1,迴圈條件:i<100。i到30的時候為break,

int i=0;
        while(i<100){
            i++;
            System.out.print(i+"\t");
            if(i==30){
                break;
            }
            //輸出結果:1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18	19	20	21	22	23	24	25	26	27	28	29	30

      //break強行退出迴圈,不執行迴圈中剩餘的語句

結果:break強行退出迴圈,不執行迴圈中剩餘的語句

continue例項

i從0開始,每次迴圈i增加1,迴圈條件:i<100。i為10的倍數時,不輸出,換行,continue

int i=0;
        while(i<100){
            i++;
            if(i%10==0){
                System.out.println();        //System.out.println();的作用是在控制檯輸出一個換行符。
                continue;
            }
            System.out.print(i+"\t");
        }
        /*
        1	2	3	4	5	6	7	8	9
        11	12	13	14	15	16	17	18	19
        21	22	23	24	25	26	27	28	29
        31	32	33	34	35	36	37	38	39
        41	42	43	44	45	46	47	48	49
        51	52	53	54	55	56	57	58	59
        61	62	63	64	65	66	67	68	69
        71	72	73	74	75	76	77	78	79
        81	82	83	84	85	86	87	88	89
        91	92	93	94	95	96	97	98	99

         */
        //continue 用於終止某次迴圈過程,即跳過本次迴圈中尚未執行的語句,接著進行下一次是否執行迴圈的判定。

總結:

break 在任何迴圈語句的主體部分,均可用 break 控制迴圈的流程。break 用於強行退出迴圈,不執行迴圈中剩餘的語句。(break 語句也在 switch 語句中使用)。

continue 語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。

goto標籤

例項:列印101-150之間所有的質數

 //列印101-150之間所有的質數
        int count=0;

        //outer:標籤
        outer:for(int i=101;i<=150;i++){
            for(int j=2;j<i/2;j++){
                if(i%j==0){
                    continue outer;         //從內部的for迴圈跳到outer標記的外部outer迴圈
                }
            }
            System.out.print(i+" ");        //輸出數字之間帶空格
        }

        //輸出結果:101  103	107	109	113	127	131	137	139	149