1.break
for (NSInteger i = 0; i < 5; i++) {
NSLog(@"當(dāng)前i的值是:%ld", (long)i);
if (i == 1) {
break;
}
NSLog(@"執(zhí)行不執(zhí)行啊");
}
打印輸出
當(dāng)前i的值是:0
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:1
當(dāng)執(zhí)行break時,會結(jié)束循環(huán).
2.continue
for (NSInteger i = 0; i < 5; i++) {
NSLog(@"當(dāng)前i的值是:%ld", (long)i);
if (i == 1) {
continue;
}
NSLog(@"執(zhí)行不執(zhí)行啊");
}
打印輸出
當(dāng)前i的值是:0
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:1
當(dāng)前i的值是:2
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:3
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:4
執(zhí)行不執(zhí)行啊
當(dāng)執(zhí)行continue時,會跳出當(dāng)前循環(huán),進(jìn)行下一次循環(huán).
3.returen
for (NSInteger i = 0; i < =3; i++) {
for (NSInteger j = 0; j <= 3; j++) {
NSLog(@"當(dāng)前i的值是:%ld", (long)i);
NSLog(@"當(dāng)前j的值是:%ld", (long)j);
if (j + i == 2) {
return;
}
NSLog(@"執(zhí)行不執(zhí)行啊");
}
}
打印輸出
當(dāng)前i的值是:0
當(dāng)前j的值是:0
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:0
當(dāng)前j的值是:1
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:0
當(dāng)前j的值是:2
當(dāng)執(zhí)行return時,不管有多少層循環(huán),直接結(jié)束
改為break打印對比一下可以看出來區(qū)別
當(dāng)前i的值是:0
當(dāng)前j的值是:0
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:0
當(dāng)前j的值是:1
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:0
當(dāng)前j的值是:2
當(dāng)前i的值是:1
當(dāng)前j的值是:0
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:1
當(dāng)前j的值是:1
當(dāng)前i的值是:2
當(dāng)前j的值是:0
當(dāng)前i的值是:3
當(dāng)前j的值是:0
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:3
當(dāng)前j的值是:1
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:3
當(dāng)前j的值是:2
執(zhí)行不執(zhí)行啊
當(dāng)前i的值是:3
當(dāng)前j的值是:3
執(zhí)行不執(zhí)行啊