break,return,continue區別

三個有時候會混,記錄一下

break 結束整個循環,繼續執行循環后面的代碼。

- (void)breakTest {
    for (int i = 0; i < 10; i++) {
        NSLog(@"循環  i=%d",i);
        if (i == 2) {
            break;
        }
        NSLog(@"循環  i=%d break之后",i);
    }
    
    NSLog(@"循環結束");
}

輸出:
循環  i=0
循環  i=0 break之后
循環  i=1
循環  i=1 break之后
循環  i=2
循環結束

return 結束整個函數,即跳出整個循環,并且不繼續執行整個循環后面的代碼。

- (void)returnTest {
    for (int i = 0; i < 10; i++) {
        NSLog(@"循環  i=%d",i);
        if (i == 2) {
            return;
        }
        NSLog(@"循環  i=%d  return之后",i);
    }
    
    NSLog(@"循環結束");
}

輸出:
循環  i=0
循環  i=0  return之后
循環  i=1
循環  i=1  return之后
循環  i=2

continue 結束本次循環,繼續下次循環,直至整個循環執行結束,然后執行循環后面的代碼。

- (void)continueTest {
    for (int i = 0; i < 10; i++) {
        NSLog(@"循環  i=%d",i);
        if (i == 2) {
            continue;
        }
        NSLog(@"循環  i=%d continue之后",i);
    }
    
    NSLog(@"循環結束");
}

輸出:
循環  i=0
循環  i=0 continue之后
循環  i=1
循環  i=1 continue之后
循環  i=2
循環  i=3
循環  i=3 continue之后
循環  i=4
循環  i=4 continue之后
循環  i=5
循環  i=5 continue之后
循環  i=6
循環  i=6 continue之后
循環  i=7
循環  i=7 continue之后
循環  i=8
循環  i=8 continue之后
循環  i=9
循環  i=9 continue之后
循環結束

i=2時 continue之后的代碼沒有執行,而是開始繼續循環中i=3的代碼。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容