Dart基础入门(三)循环与分支和控制语句

前言:

小伙伴们!周末回来,接下来我继续给大家入门Dart语言,今天是本系列文章第四篇,看过上篇文章的知道,我们已经介绍到了语句部分,所以这篇文章我将继续给大家介绍Dart中的其他语句写法及用法。还是那句话,对于小白来说,希望你们在看这篇文章前把前面的文章都按顺序看完,这样对你的学习帮助只会更大。好了, 系列文章地址下面已给出。废话不多说,开始今天的介绍。

  1. Dart开发环境搭建这一篇就够了
  2. Dart基础入门(一)变常量与数据类型
  3. Dart基础入门(二)运算符及条件表达式

一,for循环语句:

for循环语句,基本上所有的高级语言中都有它的身影,而且写法也大同小异。一般用在需要将数组,集合中的元素遍历出来时,我们还是通过代码示例来进一步讲解吧!

// for循环语句示例
void main(){
  var list = [23,'j',24,'k'];//首先声明一个list数据源
  /**
   *下面是for循环语句的常规写法
   *IDE自动生成 for (var i = 0; i < count; i++) {方法体}
   *首先定义一个index(i)变量,随后给该变量一个设置一个大小变化范围,最后指定变化方式
   *意思是让index根据指定变化方式在一个范围内循环变化大小,最后达到峰值跳出循环
   */
  for(var i = 0;i < list.length;i++){
    print(list[i]);//根据上面注释这里打印的结果就是list集合里,0到3下标的元素
  }
   
  print('-------------------------------------');
  
  /**
   *下面是for循环语句的简写方式,在其他语言当中也被叫作增强for循环
   *IDE自动生成 for (var item in items) {方法体}
   *根据items数据源的元素类型,定义一个变量item,循环遍历这个数据源
   *这种写法的特点就是你可以直接获取数据源元素,写法简便,其实它内部实现就是上面的常规写法
   *只不过进行了一定的封装,用在当你不需要index的时候
   */
  for (var item in list) {
    print(item);//根据上面注释打印结果就是list的元素按顺序输出
  }
}

二,break和continue语句:

大家想想看上面的for循环语句,有时候你是不是想要控制一下它的进度,比如说当你想要查找一个元素,查到之后就不继续循环等等类型逻辑,默认情况下,你是控制不了for循环的,这个时候就要用到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
  }

  print('--------------------------------');

  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语句的话,几乎是最通用的控制语句了,也可以说是最简单的,if就是如果,其实作为开发者而言如果追求程序的健壮性的话,if我们得少用,想想看,如果一段代码出现很多if语句,那它执行起来是不是很累呢,所以我们写程序尽量少用,或者可以用诸如三目运算来代替它,好了!我们简单看一段代码示例吧!

//控制语句if示例
void main(){
  /**
   *这段代码应该懂点英语就理解了吧,就是如果(if)怎么样,其他(else)怎么样,当然它可以有嵌套
   */
  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语句的第一种用法,格式:while(boolean值){方法体}
   *当boolean值为true时,循环执行方法体,否则结束退出
   */
  while(count < 5){
    print(count++);//根据上面注释结果为0,1,2,3,4
  }

  print('count=$count');//结果为5
  
  /**
   *while语句的第二种用法,格式:do{方法体}while(boolean值){方法体}
   *和上面不同的地方在于它会先执行do里面的方法体,后面再接着循环,而且每次也都会执行do
   */
  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语句一般格式:switch(变量){case 给定值:break;case 给定值:break;...default:(可不写)}
   *作用就是当这个变量的值符合对应给定值时执行相应方法体,如果没有对应值就走default方法体(前提是有)
   *
   *在下面的示例中我们注意到有个d:段落,这个就是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'
}

好了,以上就是Dart语句相关的基础知识了,怎么样是不是很简单,不管学什么入门总是不难的,当然最后我们还是要深入学习,如果小伙伴们想更加深入了解Dart,官方文档是最好的学习渠道,因为本系列文章只是大家一起入门一下,所以说的都是非常基础的,包括这篇文章在内,我们前面讲的都是Dart最基础的部分,当初介绍Dart语言的时候,我们说它是一门面向对象的编程语言,那么什么是面向对象,这是众多高级语言都具有的特点,从下一篇文章开始我将带小伙伴们进入面向对象阶段的介绍,这是Dart语言最核心,最关键的地方。到时候相信大家对Dart语言会有一个全新的认知。今天就说到这,下面给出代码地址

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值