喜迎
春节

流程语句


Dart流程语句控制程序执行的流程,根据条件决定执行的代码,或重复执行特定代码块,常用语句有if、else、for、while等。

1 if语句

main() {
  // if...else...语句
  String today = '星期一';
  if(today == '星期一') {
    print('今天星期一');
  } else {
    print('美好的一天');
  }
}

2 switch

main() {
  // switch...case语句
  String today = '星期一';
  switch(today) {
    case '星期一':
      print('今天星期一');
      break;
    default:
      print('美好的一天');
      break;
  }
}

3 for和while

  • 第一次循环条件不成立的情况,while循环不执行,do…while循环执行一次。
main() {
  // for循环
  for(int x=1; x<=3; x++) {
    print('for循环:$x');
  }

  // while循环
  int y = 1;
  while(y <= 3) {
    print('while循环:$y');
    y++;
  }

  // do...while循环
  int z = 1;
  int sum = 0;
  do {
    sum += z;
    z++;
  } while(z <= 3);
  print('do...while循环的和:$sum');
}

4 跳出一层循环

  • break用于跳出循环,如果有多层循环,则只能跳出一层循环。
main() {
  // break跳出循环
  for(var i=1; i<=5; i++) {
    if(i == 4) {
      break;
    }
    print(i);
  }
}

5 跳出本次循环

  • continue用来跳出本次循环。
main() {
  // continue跳出本次循环
  for(var i=1; i<=3; i++) {
    if(i == 2) {
      continue;
    }
    print(i);
  }
}

6 其他循环语句

  • any(只要集合中有满足条件的数据就返回true)、map(修改集合中的数据)。
  • every(集合中的每一个数据都必须满足条件才返回true,否则将返回false)。
  • where(返回满足条件的数据)、forEach(循环遍历List)。

6-1 any

main() {
  // any
  List mylist = [1, 3, 5, 7, 9];
  var anyList = mylist.any((value) {
    return value >= 5;
  });
  print(anyList);
}

6-2 map

main() {
  // map
  List mylist = [1, 2, 3];
  var doubleList = mylist.map((value) {
    return value * 2;
  });
  print(doubleList.toList());
}

6-3 every

main() {
  // every
  List mylist = [1, 3, 5, 7, 9];
  var everyList = mylist.every((value) {
    return value >= 5;
  });
  print(everyList);

  // 循环方法同样适用于set
  var s = new Set();
  s.addAll([11111, 22222, 33333]);
  s.forEach((value) => print(value));

  // 循环方法同样适用于map
  var person = {'姓名': '张三', '工作': '测试'};
  person.forEach((key, value) {
    print('$key --- $value');
  });
}

6-4 where

main() {
  // where
  List mylist = [1, 3, 5, 7, 9];
  var newList = mylist.where((value) {
    return value >= 5;
  });
  print(newList.toList());
}

6-5 forEach

main() {
  List mylist = ['樱桃', '西瓜', '香蕉'];
  for(var i=0; i<mylist.length; i++) {
    print('方法一:${mylist[i]}');
  }

  for(var item in mylist) {
    print('方法二:$item');
  }
  
  // forEach
  mylist.forEach((value) {
    print('forEach:$value');
  });
}

文章作者: bsf
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 bsf !
评 论
  目录