Dart语言流程控制语句包括下面几种:
- if语句
- switch语句
- for 循环语句
- while 和 do-while 循环语句
1.if语句
例子:
if (isRaining()) {
// 代码1
} else if (isSnowing()) {
// 代码2
} else {
// 代码3
}
else是可选的,根据需要组合即可。
2.switch语句
switch语句的作用跟if语句类似,用于检测各种条件是否成立,然后执行相应分支的代码。
switch支持检测int,String类型变量的检测,当然如果你自定义的类重载了==操作符,也可以在switch条件中使用。
提示:熟悉c++的人都知道操作符重载,其实就是重新定义操作符的运算逻辑,后面关于类的章节会详细介绍如果重载操作符。
例子:
// 条件状态变量
var command = 'OPEN';
switch (command) { // 需要检测的变量
case 'CLOSED': //case语句用于设置检测条件
executeClosed(); // 如果command = 'CLOSED',执行当前分支代码。
break; // 结束当前分支执行逻辑
case 'PENDING':
executePending();
break;
case 'APPROVED':
executeApproved();
break;
default: // 如果上面的case语句都没有匹配成功,则执行default分支的逻辑。
executeUnknown();
}
提示:switch语句中break不能忽略,否则会报错。
3.for 循环语句
for循环格式1:
// 定义int数组
var list = [5,1,2,6,3];
// 循环遍历数组
for (var i = 0; i < list.length; i++) {
print(list[i]); // 打印数组元素
}
for语句格式2:
// 循环遍历数组变量list
for (var v in list) {
print(v); // 打印数组元素 v
}
4.while 和 do-while 循环语句
while循环语句例子:
// 定义int数组
var list = [5,1,2,6,3];
// 循环遍历数组
var i = 0;
while (i < list.length) { // 条件为true则执行循环体代码
print(list[i]); // 打印数组元素
i++; // 数组下标递增
}
do-while和while语句的区别就是do-while先执行循环体的代码,再检测循环条件。
// 循环遍历数组
var i = 0;
do {
print(list[i]);
i++;
} while (i < list.length); // 先执行循环体代码后再检测循环条件,条件为true则继续执行循环