break
和 continue
是 C++ 中用于控制流程的关键字,它们用于在循环中控制程序的执行方式。
break
:break
关键字用于终止循环,即使循环条件仍然满足,也会立即退出整个循环体,然后继续执行循环外的代码。- 通常在需要提前退出循环的情况下使用,比如当达到某个特定条件时,不再需要继续循环。
for (int i = 0; i < 10; ++i) {
if (i == 5) {
break; // 当 i 等于 5 时,立即终止循环
}
std::cout << i << " ";
}
continue
:continue
关键字用于跳过当前迭代中的剩余代码,直接开始下一次迭代。循环会继续进行,但是当前迭代内后续的代码将不再执行。- 通常在需要跳过某个特定情况的迭代时使用,但不会结束整个循环。
for (int i = 0; i < 10; ++i) {
if (i == 5) {
continue; // 当 i 等于 5 时,跳过当前迭代,开始下一次迭代
}
std::cout << i << " ";
}
总之,break
用于完全退出循环,而 continue
用于跳过当前迭代,直接开始下一次迭代。选择使用哪个关键字取决于你的代码逻辑和需求。
在双层循环中:!!!
在双层循环中使用 break
和 continue
的作用和理解可以通过以下方式来解释:
-
break
语句:- 当
break
被执行时,它会立即终止当前所在的最内层循环。在双层循环中,如果break
被执行,它将结束内层循环,并且控制流会跳到外层循环的下一次迭代(如果有的话)。 - 例如,在以下代码中,当内层循环的条件满足时,
break
将导致退出内层循环,但外层循环仍然会继续执行。
- 当
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 5; ++j) {
if (condition) {
break; // 结束内层循环
}
}
}
-
continue
语句:- 当
continue
被执行时,它会跳过当前迭代的剩余代码并进入下一次迭代。在双层循环中,如果continue
被执行,它将跳过内层循环中continue
之后的代码,继续下一次内层循环的迭代。 - 例如,在以下代码中,当满足某个条件时,
continue
将跳过当前内层循环的剩余代码,直接进入下一次内层循环。
- 当
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 5; ++j) {
if (condition) {
continue; // 跳过内层循环的剩余代码,进入下一次内层循环
}
}
}