4.Dart 循环语句 for while do...while break continue 多维列表循环

1.for基本语法

for基本语法
 
          for (int i = 1; i<=100; i++) {   
            print(i);
          }  
          第一步,声明变量int i = 1;
          第二步,判断i <=100
          第三步,print(i);
          第四步,i++
          第五步 从第二步再来,直到判断为false
 
例子
1.打印0-50所有的偶数
void main(){

    for(int i=0;i<=50;i++){
        if(i%2==0){
          print(i);
        }
    }

}

 

2、求 1+2+3+4 +...100的和
void main(){

    var sum=0;
    for(var i=1;i<=100;i++){
        sum+=i;
    }
    print(sum);

}

 

3、计算5的阶乘   (1*2*3*4*5    n的阶乘1*2……*n)
void main(){

    var sum=1;
    for(var i=1;i<=5;i++){
        sum*=i;
    }
    print(sum);

}

 

4、打印List  ['张三','李四','王五'] 里面的内容
void main(){

    List list=['张三','李四','王五'];

    for(var i=0;i<list.length;i++){

      print(list[i]);

    }

}

 

5、打印List 
void main(){

    List list=[{
      "title":"新闻111"
    },
    {

      "title":"新闻222"
    },
    {

      "title":"新闻333"
    }];


    for(var i=0;i<list.length;i++){

      print(list[i]['title']);
    }

}

 

6、定义一个二维数组 打印里面的内容
void main(){
 List list=[
          {
              "cate":'国内',
              "news":[
                {"title":"国内新闻1"},
                {"title":"国内新闻2"},
                {"title":"国内新闻3"}
              ]
          },
          {
              "cate":'国际',
              "news":[
                {"title":"国际新闻1"},
                {"title":"国际新闻2"},
                {"title":"国际新闻3"}
              ]
          }
        ];

        for(var i=0;i<list.length;i++){
            print(list[i]["cate"]);
            print('-------------');
            for(var j=0;j<list[i]["news"].length;j++){
                print(list[i]["news"][j]["title"]);
            }
        }


}

  

2.while和do...while基本语法

while基本语法  

while(表达式/循环条件){			
			
	}	  

do...while 基本语法

do{
     语句/循环体
			
  }while(表达式/循环条件);
 注意: 1、最后的分号不要忘记
             2、循环条件中使用的变量需要经过初始化
             3、循环体中,应有结束循环的条件,否则会造成死循环。
void main(){
    //int i=1;
    //while(i<=10){

        //print(i);
    //}
    //死循环

    int i=1;
    while(i<=10){
        print(i);
        i++;
    }
    //正确写法

}

  

例子:

1、求1+2+3+4 ...+100的和
void main(){
//while
    int i=1;
    var sum=0;
    while(i<=100){
       sum+=i;
       i++;
    }
    print(sum);
}

 

void main(){
//do...while
    int i=1;
    var sum=0;
    do{
       sum+=i;
       i++;
    }while(i<=100);
    print(sum);

}

 

while 和 do while的区别   第一次循环条件不成立的情况下

void main(){
    int i=10;
    while(i<2){
        print('执行代码');
    }
     //不执行

   var j=10;	  
    do{
	 print('执行代码');
    }while(j<2);
    //打印‘执行代码’
      
}

 

3.break和continue

break语句功能:

          1、在switch语句中使流程跳出switch结构。

          2、在循环语句中使流程跳出当前循环,遇到break 循环终止,后面代码也不会执行          

          强调:

          1、如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。

          2、在多层循环中,一个break语句只能向外跳出一层

        break可以用在switch case中 也可以用在 for 循环和 while循环中

continue语句的功能:       

        【注】只能在循环语句中使用,使本次循环结束,即跳过循环体重下面尚未执行的语句,接着进行下次的是否执行循环的判断。

        continue可以用在for循环以及 while循环中,但是不建议用在while循环中,不小心容易死循环

 

例子

1、如果i等于4的话跳过
void main(){

    for(var i=1;i<=10;i++){
      if(i==4){
        continue;  /*跳过当前循环体 然后循环还会继续执行*/
      }
      print(i);
    }

}

 

2、如果 i等于4的话跳出循环
void main(){

    for(var i=1;i<=10;i++){
      if(i==4){
        break;  /*跳出循环体*/
      }
      print(i);
    }

}

 

3、break语句只能向外跳出一层
void main(){

    	 for(var i=0;i<5;i++){	 	
           	
	    print('外层---$i');
            for(var j=0;j<3;j++){	
            
            if(j==1){
              break;
            }
            print('里层$j');		 	

          }	
       }


}

 

4、while循环 break跳出循环
void main(){

    var i=1;

     while(i<=10){
        if(i==4){
         break;
    }
     print(i);
      i++;
  }

}

 

5.switch case

void main(){

  var sex="男";
  switch (sex) {
    case "男":
      print('男');
      break;
    case "女":
      print('男');
      break;
    default:
  }

}

  

  

 

  

 

  

  

  

 

 

 

  

 

  

  

posted @ 2019-11-21 12:00  The_Chao  阅读(390)  评论(0)    收藏  举报