[dart学习]第六篇:流程控制语句(代码片段)

gklovexixi gklovexixi     2022-12-20     281

关键词:

经过前面的基础知识了解学习,我们今天可以进入语句模块啦。

dart主要有以下流程控制语句:

  • if-else
  • for循环
  • while和do-while循环
  • break和continue
  • switch-case
  • assert
  • 当然,你还可以使用 try-catch或throw

(一)if-else

dart的if(或者else if)的条件表达式必须为bool表达式,不能使用其他类型。dart的if-else用法与C语言类似,不再细述。

int a = 6;
if(a<0)

    print("aaa");

else if((a>=0) && (a<=3))

    print("bbb");

else

    print("ccc");

(二) for循环

与C语言系的for循环用法相同,不再细述。补充一点:对于List和Set等可迭代类型,也可以使用for-in格式去迭代(有点像python),看个例子:

var collection = [0, 1, 2];
for (var x in collection) 
  print(x); // 0 1 2

就是这样。

(三) while和do-while

这两个也不再细述了,和C语言一样。(while循环是先判条件再执行动作;do-while是先执行动作再判循环条件)。

(四)break和continue

与C语言一样,break是跳出当前循环,continue是跳过当次循环的剩余语句,继续开始新一次的循环。

(五)switch-case

与C语言类似,不再细述。一点特例,dart在switch-case里支持continue:

var command = CLOSED;
switch (command) 
  case CLOSED:
    executeClosed();
    continue nowClosed;
  // Continues executing at the nowClosed label.

  nowClosed:
  case NOW_CLOSED:
    // Runs for both CLOSED and NOW_CLOSED.
    executeNowClosed();
    break;

(六)assert

如果布尔条件为false,则会中断执行。assert语句是有两个参数的

 assert(condition, optionalMessage);     //第二个参数是可选的

第一个参数可以是返回值为bool的表达式,如果表达式的返回值为true,则assert通过且程序继续正常执行; 如果表达式为false,则assertion失败且抛出一个异常。

再贴一段官方的注释,讲了assert能有效工作的场景,大家自行阅读吧

When exactly do assertions work? That depends on the tools and framework you’re using:

  • Flutter enables assertions in debug mode.
  • Development-only tools such as dartdevc typically enable assertions by default.
  • Some tools, such as dart and dart2js, support assertions through a command-line flag: --enable-asserts.

In production code, assertions are ignored, and the arguments to assert aren’t evaluated.

 

 

第六篇camunda系列-流程变量(代码片段)

流程变量  流程变量可以用将数据添加到流程的运行时状态中,或者更具体地说,变量作用域中。改变实体的各种API可以用来更新这些附加的变量。一般来说,一个变量由一个名称和一个值组成。名称用于在整个流程中识别变... 查看详情

第六篇:循环语句-while和for(代码片段)

  循环语句就是在符合条件的情况下。重复执行一个代码段。Python中的循环语句有while和for。简单的while循环  while是一个条件循环语句,与if一样,他也有条件表达式。如果条件为真,while中的代码就会一直循环执行,直到... 查看详情

javaweb详解(第六篇)之jstl标签简介(代码片段)

JavaWeb详解(第六篇)之JSTL标签简介1、JSTL概述1.1、什么是JSTLJSTL全称是指JavaServerPagesStandardTagLibrary(JSP标准标签库),提供了一系列的JSP标签,可以应用于各种领域,如:基本输入输出、流程控制... 查看详情

第六篇camunda系列-流程变量(代码片段)

流程变量  流程变量可以用将数据添加到流程的运行时状态中,或者更具体地说,变量作用域中。改变实体的各种API可以用来更新这些附加的变量。一般来说,一个变量由一个名称和一个值组成。名称用于在整个流... 查看详情

第六篇camunda系列-流程变量(代码片段)

流程变量  流程变量可以用将数据添加到流程的运行时状态中,或者更具体地说,变量作用域中。改变实体的各种API可以用来更新这些附加的变量。一般来说,一个变量由一个名称和一个值组成。名称用于在整个流... 查看详情

python学习第六篇:lambda表达式(代码片段)

​Python学习第六篇:lambda表达式——活动地址:CSDN21天学习挑战赛lambda函数Python中使用lambda表达式表示匿名函数,允许用lambda关键字创造"匿名函数",可以不给函数分配名称。匿名是不需要以标准的方式来声... 查看详情

python学习第六篇运算符(代码片段)

运算符算数运算:1a=212b=103c=045c=a+b6print("1-c的值为:",c)78c=a-b9print("2-c的值为:",c)1011c=a*b12print("3-c的值为:",c)1314c=a/b15print("4-c的值为:",c)1617c=a%b18print("5-c的值为:",c)1920#修改变量a、b、c21a=222b=323c=a**b24print 查看详情

dart语法学习-基础流程控制异常类(代码片段)

Controlflowstatements可以使用以下任一方法控制Dart代码的流程:if and elsefor loopswhile and do-while loopsbreak and continueswitch and caseassert可以使用try-catch和throw影响控制流,如异常中所述:Ifandelseif(isRaining())you.bringRainCoat();e... 查看详情

一文搞定dart入门(学习笔记)(代码片段)

文章目录前言重要概念变量变量定义默认值Final/Const数据类型NumberStringBooleanList(也被称为Array)MapSet函数可选参数匿名函数闭包返回值常用的操作符类型判定运算符条件表达式级联运算符(..)非空调用三目赋值运算符整除控制流程语... 查看详情

一文搞定dart入门(学习笔记)(代码片段)

文章目录前言重要概念变量变量定义默认值Final/Const数据类型NumberStringBooleanList(也被称为Array)MapSet函数可选参数匿名函数闭包返回值常用的操作符类型判定运算符条件表达式级联运算符(..)非空调用三目赋值运算符整除控制流程语... 查看详情

第六篇io流技术(代码片段)

packagecom.zzp.demo01;importjava.io.ByteArrayInputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;/****四 查看详情

jdk11|第六篇:epsilon垃圾收集器(代码片段)

文章首发于公众号《程序员果果》地址:https://mp.weixin.qq.com/s/RhGXJImhp7Xm-wDrpPomkQ一、简介Epsilon(ANo-OpGarbageCollector)垃圾回收器控制内存分配,但是不执行任何垃圾回收工作。一旦java的堆被耗尽,jvm就直接关闭。设计的目的是提供... 查看详情

构建之法——第六篇

经过一段时间的学习,我已学习到《构建之法》的第八章需求分析。本周我将继续学习第九章项目经理、第十章典型用户和场景、第十一章软件设计与实现。第九章项目经理主要给我们介绍的是在企业里占据重要位置的项目经理... 查看详情

flutter入门dart语言:控制流语句的基本用法(代码片段)

...结一、前言在Dart中,控制流语句用于控制程序的执行流程。以下是Dart中主要的控制流语句类型:if-else:根据布尔表达式有条件地执行代码。for循环:重复执行一段代码特定次数。while循环:在给定条件为真时... 查看详情

juc-共享模型之工具-第六篇(代码片段)

六、共享模型之工具1.线程池1.1自定义线程池步骤1:自定义拒绝策略接口@FunctionalInterface//拒绝策略interfaceRejectPolicy<T>voidreject(BlockingQueue<T>queue,Ttask);步骤2:自定义任务队列classBlockingQueue<T>//1.任务队列privateDeque< 查看详情

javascript学习(八十七)—流程控制语句的总结,超级详细!!!(代码片段)

JavaScript学习(八十七)—流程控制语句的总结,超级详细!!!一、流程控制概念流程控制概念:在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通... 查看详情

javascript学习(八十七)—流程控制语句的总结,超级详细!!!(代码片段)

JavaScript学习(八十七)—流程控制语句的总结,超级详细!!!一、流程控制概念流程控制概念:在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通... 查看详情

第六篇:汇编基础指令讲解(代码片段)

目录基础汇编代码LDR(load)STR(store)BMOV(move)LDR(注意跟读内存的LDR不一样,格式不同)add(加)sub(减)BL(branchandLink)ldm和stmldmia和stmdbCPU,R0~R15图解基础汇编代码LDR(load)读内存LDRR0,[R1]假设R1的值=x,读取地址x的数据(4字节)保存到R0... 查看详情