概述
continue 语句用于跳过当前循环中的剩余部分,并继续执行下一次循环。它可以在 for、while 和 do-while 循环中使用。
使用场景
当你需要在特定条件下跳过循环中的某些迭代时,可以使用 continue 语句。这有助于简化代码逻辑,避免复杂的条件判断嵌套。
示例:基本用法
下面是一个简单的例子,展示了如何在 for 循环中使用 continue 语句:
void main() {
for (int i = 0; i < 10; i++) {
if (i % 3 == 0) {
continue;
}
print(i);
}
}在这个例子中,当 i 能被 3 整除时,continue 语句会跳过本次循环的剩余部分,并立即开始下一次循环。因此,输出结果将不会包含能被 3 整除的数字。
示例:在 while 循环中使用
continue 语句不仅限于 for 循环,在 while 循环中也可以使用。下面的例子展示了如何在 while 循环中使用 continue 语句:
// www.javascriptcn.com code example
void main() {
int i = 0;
while (i < 10) {
i++;
if (i % 3 == 0) {
continue;
}
print(i);
}
}与 for 循环中的示例类似,这个例子也会跳过能被 3 整除的数字。
示例:在 do-while 循环中使用
同样地,continue 语句也可以在 do-while 循环中使用。下面的例子展示了如何在 do-while 循环中使用 continue 语句:
// www.javascriptcn.com code example
void main() {
int i = 0;
do {
i++;
if (i % 3 == 0) {
continue;
}
print(i);
} while (i < 10);
}在这个例子中,即使 do-while 循环结构不同,continue 语句的效果仍然相同。
结合其他控制流语句
continue 语句常常与其他控制流语句(如 if、switch 等)结合使用,以实现更复杂的功能。
示例:与 if 结合使用
void main() {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue;
}
print("奇数: $i");
}
}在这个例子中,只有奇数会被打印出来,因为偶数在遇到 continue 语句时会跳过本次循环的剩余部分。
示例:与 switch 结合使用
虽然 switch 语句在 Dart 中主要用于处理枚举类型,但也可以通过一些技巧与 continue 结合使用。不过,需要注意的是,Dart 的 switch 语句并不支持 break 之外的控制流转移,所以这种组合在实际开发中较少见。
// www.javascriptcn.com code example
enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday }
void main() {
Weekday day = Weekday.Wednesday;
switch (day) {
case Weekday.Monday:
case Weekday.Tuesday:
case Weekday.Thursday:
case Weekday.Friday:
print("工作日");
break;
case Weekday.Wednesday:
print("星期三");
continue;
default:
print("未知");
}
}在这个例子中,continue 语句实际上是多余的,因为 switch 语句在匹配到一个 case 后不会自动跳转到下一个 case。然而,这个例子展示了如何在理论上将 continue 与 switch 结合使用。
总结
continue 语句是控制循环流程的重要工具,能够帮助我们更简洁地编写代码。通过合理地使用 continue,我们可以避免复杂的条件嵌套,使代码更加清晰和易于维护。
希望这段教程对你有帮助!如果你有任何问题或需要进一步的信息,请随时提问。