zoukankan      html  css  js  c++  java
  • Dart语言学习(十) Dart流程控制语句

    一、条件语句:if、if...elseif、if...elseif...else

      int score = 95;
      if (score >=90) {
          print('优秀');
      } else if (80>=score && score<90) {
      print('良');
      } else if (60>=score && score<80) {
      print('及格');
      } else {
       print('不及格');
      } //优秀 

    二、循环语句:for、for in

     
      //使用for循环
      var list = [4,2,3];
      for(var i=0; i<list.length; i++)    {
      print(list[i]);
      }
      //使用forin循环
      for (var item in list) {
          print(item);
      }
      /*
          4
          2
          3
      */

    三、循环语句:while循环、do...while循环

        //while 先判断条件在执行
        int i = 0;
        while (i < 2) {
            print(i++);
        };
        /*
            0,
            1
        */
        //do...while 先执行一次在判断条件,至少执行一次
         do {
            print(i--);
        } while (i > 0 && i < 3); 
        
        /*
            0,
            1
        */

    三、终止当前循环:break 终止离break最近的循环,只能终止一层循环

      //当i==2时候已经终止循环了
      for (var i = 0; i < 4; i++) {
          if (i == 2) {
              break;
          }
          print(i);
      } 
      /*
          0,
          1
      */
                  
      //break终止的只是当前循环,只能终止一层循环
      for (var i = 0; i < 2; i++) {
          for (var j = 0; j < 4; j++) {
              if (j == 1) {
                  break;
              }
              print('[$i,$j]');
          };
      };
      /*
          [0,0]
          [1,0]
          */

    四、跳出当前循环:continue 跳出当前循环,只能跳出一层循环

      //当i==2时候已经跳出循环,执行下一次循环
      for (var i = 0; i < 4; i++) {
          if (i == 2) {
              continue;
          }
          print(i);
      } 
      /*
          0,
          1,
          3
      */
                  
      //contiue跳出的只是当前循环,只能跳出一层循环
      for (var i = 0; i < 2; i++) {
          for (var j = 0; j < 4; j++) {
              if (j == 1) {
                  continue;
              }
              print('[$i,$j]');
          };
      };
      /*
              [0,0]
              [0,2]
              [0,3]
              [1,0]
              [1,2]
              [1,3]
          */

    五、switch...case语句

    1. 比较类型可以有:num、String、编译期常量、对象、枚举

    2. 非空case必须有一个默认情况

    3. default 处理默认情况

    4. continue 跳转标签

      //language 也可以是num、String、编译期常量、对象、枚举这几种类型
      String language = 'java';
      switch(language) {
          case 'dart':
              print('dart language');
              break;
          case 'java':
              print('java language');
              break;
          case 'python':
              print('python language');
              break;
          default:
              print('none');
      } //java language
      
      /*
          用continue跳转到位置执行最近的case
          TopTest名字可以随便起  
      */
      switch(language) {
          
          case 'dart':
              print('dart language');
              break;
          case 'java':
              print('java language');
              continue TopTest
              //break;
          case 'python':
              print('python language');
              break;
          TopTest:
          default:
              print('none');
      } 
      /*
          java language
          none
      */

    六、assert 中断代码流

    Dart语言通过使用assert语句来中断正常的执行流程,当assert判断的条件为false时,发生中断,assert判断的条件时任何可以转化为boolean类型的对象,即使是函数也可以,如果assert的判断为true,则继续执行下面的语句;

    1. 如果一个布尔条件值为false,使用assert语句来中断正常执行的代码

    2. Assert语句仅仅只能在调试模式下使用,在生产模式下没有任何作用。

    3. 在assert语句后面的括号中,你可以加入任何表示布尔值或者函数的表达式。

    4. 如果表达式的值或者函数返回值true,则assert语句成功并继续执行代码。如果值为false,则assert语句失败并抛出一个异常。

      //确保这个变量不为空值. 
      assert(text != null);
      
      //确保这个变量小于100. 
      assert(number < 100);
      
      //确保它是一个https协议类型的URL. 
      assert(urlString.startsWith(‘https’));
    Dart学习系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html
  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/jukaiit/p/12260104.html
Copyright © 2011-2022 走看看