三個有時候會混,記錄一下
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的代碼。