面试题答案
一键面试break
关键字for
循环:break
用于立即终止整个for
循环,程序将跳转到循环之后的下一条语句执行。
for (int i = 0; i < 10; i++) { if (i == 5) { break; } NSLog(@"%d", i); } // 输出:0 1 2 3 4,当i等于5时,循环终止
while
循环:break
同样会立即终止while
循环,执行循环后面的代码。
int j = 0; while (j < 10) { if (j == 5) { break; } NSLog(@"%d", j); j++; } // 输出:0 1 2 3 4,当j等于5时,循环终止
do - while
循环:break
也是用来立即终止do - while
循环,即使循环条件仍然可能为真。
int k = 0; do { if (k == 5) { break; } NSLog(@"%d", k); k++; } while (k < 10); // 输出:0 1 2 3 4,当k等于5时,循环终止
continue
关键字for
循环:continue
用于跳过当前循环迭代中剩余的语句,直接开始下一次迭代,即更新循环变量并检查循环条件。
for (int i = 0; i < 10; i++) { if (i == 5) { continue; } NSLog(@"%d", i); } // 输出:0 1 2 3 4 6 7 8 9,当i等于5时,跳过本次循环剩余语句,直接进入下一次迭代
while
循环:continue
会跳过当前迭代中while
循环体剩余的语句,直接回到循环条件判断处。
int j = 0; while (j < 10) { if (j == 5) { j++; continue; } NSLog(@"%d", j); j++; } // 输出:0 1 2 3 4 6 7 8 9,当j等于5时,跳过本次循环剩余语句,回到循环条件判断(先自增j)
do - while
循环:continue
跳过当前迭代中do - while
循环体剩余的语句,回到循环条件判断处。
int k = 0; do { if (k == 5) { k++; continue; } NSLog(@"%d", k); k++; } while (k < 10); // 输出:0 1 2 3 4 6 7 8 9,当k等于5时,跳过本次循环剩余语句,回到循环条件判断(先自增k)
总结来说,break
是终止整个循环,而continue
是跳过当前迭代的剩余部分,继续下一次迭代。在不同类型的循环中,它们的作用机制基本相同,但在while
和do - while
循环中使用continue
时,要注意确保循环变量的更新,避免死循环。