Dart 循环语句 for while do...while break continue

兄弟姐妹们在线分析下,Dart 循环语句 for while do...while break continue
最新回答
盗琴音

2023-01-29 06:34:44

Dart 提供了多种循环语句(for、while、do...while)以及控制流程的关键字(break、continue),以下是详细说明和示例:

1. 循环语句(1) for 循环

语法

for (初始化; 条件; 增量) { // 循环体}

特点

  • 适合已知循环次数的场景。
  • 支持嵌套循环(如遍历多维数据)。

示例

// 输出1-100for (int i = 1; i <= 100; i++) { print(i);}// 遍历列表List<String> names = ['孙悟空', '猪八戒'];for (int i = 0; i < names.length; i++) { print(names[i]);}// 嵌套循环(遍历二维数组)List<Map<String, dynamic>> listArr3 = [ { "name": '孙悟空1', "nickname": [ {"title": "齐天大圣1"}, {"title": "弼马温1"} ] }];for (int i = 0; i < listArr3.length; i++) { print(listArr3[i]["name"]); for (int j = 0; j < listArr3[i]["nickname"].length; j++) { print(listArr3[i]["nickname"][j]["title"]); }}(2) while 循环

语法

while (条件) { // 循环体}

特点

  • 先判断条件,再执行循环体。
  • 需确保条件最终能变为false,否则会死循环。

示例

// 输出1-10int num = 1;while (num <= 10) { print(num); num++;}// 求和1-100int sum = 0, i = 1;while (i <= 100) { sum += i; i++;}print(sum); // 5050(3) do...while 循环

语法

do { // 循环体} while (条件); // 注意分号

特点

  • 先执行一次循环体,再判断条件。
  • 至少执行一次循环体。

示例

int sum = 0, i = 1;do { sum += i; i++;} while (i <= 100);print(sum); // 50502. 流程控制关键字(1) break

功能

  • 立即终止当前循环(或switch语句)。
  • 在多层循环中,仅跳出最近的一层循环。

示例

// 遇到i==4时终止循环for (int i = 0; i <= 10; i++) { if (i == 4) break; print(i); // 输出0 1 2 3}(2) continue

功能

  • 跳过当前循环的剩余代码,直接进入下一次循环。
  • 仅用于循环语句中。

示例

// 跳过i==4的迭代for (int i = 0; i <= 10; i++) { if (i == 4) continue; print(i); // 输出0 1 2 3 5 6 7 8 9 10}3. 自增/自减运算符(++/--)
  • 前缀形式(++i):先自增/自减,再赋值。
  • 后缀形式(i++):先赋值,再自增/自减。

示例

int a = 10;int b = a++; // b=10, a=11int c = ++a; // c=12, a=12关键注意事项
  1. 避免死循环:确保while/do...while的条件能终止。
  2. break与continue的区别

    break:完全退出循环。

    continue:仅跳过当前迭代。

  3. 分号:do...while语句末尾必须加分号。

通过合理选择循环类型和控制关键字,可以高效处理重复任务或条件性中断逻辑。