Dart 循环与分支和控制语句


for循环语句
for循环语句 基本上所有的高级语言中都有
一般用在需要将数组 集合中的元素遍历出来时
// for循环语句示例
void main(){
  var list = [23,'j',24,'k'];//首先声明一个list数据源
 
  for(var i = 0;i < list.length;i++){
    print(list[i]);//结果 list集合里 0到3下标的元素
  }    
 
  for (var item in list) {
    print(item);//打印结果 list的元素按顺序输出
  }
}
break和continue语句
循环语句  控制进度
查找一个元素 查到之后就不继续循环等等类型逻辑
这个时候就要用到break和continue语句
//break和continue语句示例
void main(){
  var list = [2,3,4];
  for (var i = 0; i < list.length; i++) {
    if(i == 1){
       //continue  继续,作用为跳出本次循环 继续下面的循环 也 说该层for循环遇到它
       continue;
    }
    print(list[i]);//当i=1时 下面的打印就不执行 所以结果为2,4
  }
  var list2 = [4,5,6];
  for (var item in list) {
    if(item == 3){
      //break本义为打断,作用上它比continue更彻底 直接是断开循环 也 说for循环遇到它,后面的  
      //循环都不执行了 直接退出
      break;
    }
    for (var item in list2) {
       if(item == 5){
         continue;
       }
       //当item==3时 外层for循环直接退出 所以打印的都是外层item==2时
       //的数据 再结合内层循环的逻辑根据continue注释 最终结果为4,6
       print(item);
    }
  }
}
if语句//控制语句if示例
void main(){
  int score = 100;
  if(score >= 90){
     if(score == 100){
        print('完美');
     }else{
        print('优秀');
     }
  }else if(score >= 60){
      print('良好');
  }else{
      print('不及格');
  }
}
while语句
while语句和for循环语句有点类似
都是用于循环执行某段逻辑
以便于后续操作
在do while语句中它还能在循环开始前就做一些逻辑操作
//while语句示例
void main(){
  int count = 0;
 
  while(count < 5){
    print(count++);//结果为0,1,2,3,4
  }
  print('count=$count');//结果为5  
 
  do {
    print(--count);//结果为4,3,2,1,0
  } while (count > 0 && count < 5);
  print('count=$count');//结果是0
}
switch语句
switch本意是开关 switch语句的作用
把指定类型的变量 按值来分别做相应逻辑处理
用在程序中其实作用也是类似
switch语句也可以用来代替一下if语句
在Dart语言中它有和其他语言不同的特点
//switch语句示例
void main(){
  var lan = 'dart';
 
  switch (lan) {
    d:
    case 'java':
        print('Java is the best language in the world');
      break;
    case'dart':
        print('dart is the best language in the world');
        continue d;//确定当前匹配值后 跳出当次匹配 继续进行一次直到遇到break;
    default:
        print('js is the best language in the world');
  }
  // switch语句执行结果为先打印case'dart'再打印 case 'java'
}