三个有时候会混,记录一下
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的代码。