Dart基础学习-流程控制

197 阅读1分钟

Dart基础学习-循环

graph LR
A(循环) --> B(for 循环)
A --> C(for ... in 循环)
A --> D(while 循环)
A --> E(do ... while 循环)
A --> F(循环控制)
F --> G(break 语句)
F --> H(continue)
A --> J(switch ... case)
A --> K(assert)

for 循环

for循环执行代码块指定的次数,它可用于迭代一组固定的值。

  // for 循环
  for (var i = 0; i < 10; i++) {
    print(i);  // 0,1,2,3,4,5,6,7,8,9
  }

for ... in 循环

for ... in循环用于循环对象的属性。

  // for ... in 循环
  var list = ['苹果', '栗子', '小苹果'];
  for (var item in list) {
    print(item); //item表示每一项的内容哈
  }

while 循环

每次指定的条件求值为true时,while循环都会执行指令,否则不执行。

  // while循环
  var i = 0;
  while(i < 10){
    print(i);
    i++;
  }

do…while 循环

do ... while循环类似于while循环,只是do ... while循环时不管while成立不成都会执行一次循环。

  // do while循环
  var i = 10;
  do {
    print(i);
    i++;
  } while(i > 15);

循环控制

break 语句

break语句用来作为控制了结构的。在循环中使用break会导致程序退出循环。

 for (var i = 0; i < 5; i++) {
    print("i= ${i}");
    for (var j = 0; j < 5; j++) {
        print("j = ${j}");
       if (j > 3 ) break ;
    }
 }

continue

continue语句跳过当前迭代的后续语句。

 var num = 0;
 var count = 0;

 for(num = 0;num<=20;num++) {
    if (num % 2==0) {
       continue;
    }
    count++;
 } 

switch ... case

switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句。

  var grade = "A";
  switch (grade) {
    case "A":
      {
        print("很好");
      }
      break;
    case "B":
      {
        print("还阔以");
      }
      break;
    case "C":
      {
        print("及格");
      }
      break;
    case "D":
      {
        print("不及格");
      }
      break;
    default:
      {
        print("你的试卷被偷了");
      }
      break;
  }

assert

assert 语句中的布尔条件为 true 时程序继续执行,否则程序将中断

// 确认变量值不为空。
assert(text != null);

// 确认变量值大于50。
assert(number > 50);

提示: assert 语句只在开发环境中有效, 在生产环境是无效。