前端学习Dart|第二节
前言
本节接着第一节讲解:循环、条件判断语句。
视频讲解地址:传送门
循环
Dart中循环分两种
- 确定循环 - for / forIn
- 不确定循环 - while / doWhile
指迭代次数是确定/固定的循环称为确定循环。
当循环中的迭代次数不确定或未知时成为不确定循环。
for循环
我们先来看一个例子:
输出:
循环10次,输出0 - 9。与javascript的理解是相同的。
从语法角度来讲,for循环的语法分为三个部分:
- initial_count_value - 初始化部分
- termination-condition - 所述条件部分
- step - 最终表达式部分
forIn循环
for ... in循环用于循环对象的属性。
先来看一个例子:
输出:
这里需要注意obj在javascript中是数组Array类型,但是在Dart中为List对象类型,所以在概念中forIn循环方法解释为循环对象的属性方法。
再次强调一下Dart中万物皆对象的概念。
从语法角度来讲:
- variablename - 解析变量名称
- object - 循环对象
在每次迭代中,来自对象的一个属性被分配给变量名称,并且此循环继续,直到对象的所有属性都用完为止。
while循环
while 循环执行指令指定的每个条件计算为真时。换句话说,循环在执行代码块之前评估条件。
先来看一个例子:
输出:
语法:
根据expression表达式判断是否达成条件。
while后面的exporession表达式只接受Boolean类型
doWhile循环
do ... while循环类似于while循环,只是do ... while循环不会在第一次循环执行时评估条件。但是,将对后续迭代评估条件。换句话说,代码块将在do ... while循环中至少执行一次。
看一个例子:
输出:
语法上与while循环一致,唯一区别为是否至少执行一次。
break
该 break 语句用来作为控制了结构的。在循环中使用 break 会导致程序退出循环。
看一个例子:
输出:
break为直接退出循环,所以print输出0, 1后面的循环体是不执行的。
四种循环方式均支持break;
continue
在 continue 语句跳过当前迭代的后续语句,并采取控制回到循环的开始。与 break 语句不同, continue 语句不会退出循环。它终止当前迭代并开始后续迭代。
看一个例子:
输出:
如果执行到continue语句,后方的代码是不回执行的。可以理解为跳出当前循环体,并开始下次循环。
条件判断语句
if ...else
if ... else 语句在执行的代码块之前判断条件。
语法结构如下:
if后面的表达式必须为Boolean类型。如果布尔表达式的计算结果为 true ,则将执行if语句中的代码块。如果布尔表达式的计算结果为 false ,则将执行if语句结束后(在结束大括号之后)的第一组代码。
看一个例子:
输出:a is bigger
这里提及一下if的使用场景,if使用场景为:
当前上下文包含默认行为
如果没有默认行为使用switch更加合适。
使用if ...else需要注意以下几点
- 一个 if 可以有零或一个 else ,它必须在任何 else…if 之后。
- 一个 if 可以有0到多个 else…if ,他们必须在 else 之前。
- 一旦 else…if 成功,剩下的 else…if 或 else 将被跳过。
switch
switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句。
switch语法如下:
看一个例子:
输出:success
variable_expression 的值。如果变量与其中一种情况匹配,则执行相应的代码块。如果case表达式与variable_expression的值不匹配,则默认块中的代码将关联。
以下规则适用于switch语句
- switch中可以有任意数量的case语句。
- case语句只能包含常量。它不能是变量或表达式。
- variable_expression和常量表达式的数据类型必须匹配。
- 除非你在每个代码块之后放置一个中断,否则执行会流入下一个块。
- case表达式必须是唯一的。
- 默认块是可选的。
这里需要注意,上方提及的所有常量表达式为上节文章所讲解的final与const类型。
END
第二节内容: 循环、条件语句。基本语法与javascript一致,依然是没有隐式类型转换的表达式,只需注意这点即可。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanheggbeb
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24