1.break
for (NSInteger i = 0; i < 5; i++) {
NSLog(@"当前i的值是:%ld", (long)i);
if (i == 1) {
break;
}
NSLog(@"执行不执行啊");
}
打印输出
当前i的值是:0
执行不执行啊
当前i的值是:1
当执行break时,会结束循环.
2.continue
for (NSInteger i = 0; i < 5; i++) {
NSLog(@"当前i的值是:%ld", (long)i);
if (i == 1) {
continue;
}
NSLog(@"执行不执行啊");
}
打印输出
当前i的值是:0
执行不执行啊
当前i的值是:1
当前i的值是:2
执行不执行啊
当前i的值是:3
执行不执行啊
当前i的值是:4
执行不执行啊
当执行continue时,会跳出当前循环,进行下一次循环.
3.returen
for (NSInteger i = 0; i < =3; i++) {
for (NSInteger j = 0; j <= 3; j++) {
NSLog(@"当前i的值是:%ld", (long)i);
NSLog(@"当前j的值是:%ld", (long)j);
if (j + i == 2) {
return;
}
NSLog(@"执行不执行啊");
}
}
打印输出
当前i的值是:0
当前j的值是:0
执行不执行啊
当前i的值是:0
当前j的值是:1
执行不执行啊
当前i的值是:0
当前j的值是:2
当执行return时,不管有多少层循环,直接结束
改为break打印对比一下可以看出来区别
当前i的值是:0
当前j的值是:0
执行不执行啊
当前i的值是:0
当前j的值是:1
执行不执行啊
当前i的值是:0
当前j的值是:2
当前i的值是:1
当前j的值是:0
执行不执行啊
当前i的值是:1
当前j的值是:1
当前i的值是:2
当前j的值是:0
当前i的值是:3
当前j的值是:0
执行不执行啊
当前i的值是:3
当前j的值是:1
执行不执行啊
当前i的值是:3
当前j的值是:2
执行不执行啊
当前i的值是:3
当前j的值是:3
执行不执行啊