Dart 语言学习 03
Author : ScorpioDong
1. 分支结构
1.1 if - else
// if 语句
if (1 * 3 == 3) {
print(true);
}
// if - else 语句
if (2 * 4 == 8) {
print(true);
} else {
print(false);
}
// if - else if 语句
if (5 > 7) {
print("5 > 7");
} else if (5 > 4) {
print("5 > 4");
} else {
print("5 < 4");
}
- if 语句: 由一个布尔表达式后跟一个或多个语句组成。
- if - else 语句: if后面跟一个可选的else块。如果if块测试的布尔表达式求值为false,则执行else块。
- if - else if 语句: else…if可用于测试多个条件。
1.2 switch - case
int a = 4;
switch (a) {
case 1:
print("1");
break;
case 2:
print("2");
break;
case 3:
print("3");
break;
case 4:
print("4");
break;
default:
print("others");
}
- 支持
整数
,字符串
,或者编译时常量
。 - switch中可以有任意数量的case语句。
- case语句只能包含常量,它不能是变量或表达式。
- 变量和常量表达式的数据类型必须匹配。
- 除非你在每个代码块之后放置break语句,否则执行会流入下一个break块。
- case表达式必须是唯一的。
- default块是可选的。
2. 循环结构
2.1 for循环
for (var i = 0; i < 5; i++) {
print("Hello Dart");
}
执行结果
Hello Dart
Hello Dart
Hello Dart
Hello Dart
Hello Dart
for循环格式 :
for (循环变量初始化; 循环条件; 每一次循环后需要执行的语句) {
循环体
}
一般每一次循环后需要执行的语句是循环条件变更语句
for…in…
var str = ["ab","cd","ef","g"];
for (var s in str) {
print(s);
}
执行结果
ab
cd
ef
g
- for…in… 结构可以遍历列表,集合等对象。
- 只有实现了Iterable接口的对象才可以使用for…in…结构。
- 该结构没有下标操作,所以一些需要下标操作的情况不能使用。
2.2 while 循环和 do - while 循环
int i = 5;
while (i >= 0) {
print(i);
i--;
}
执行结果:
5
4
3
2
1
0
- while循环会判断循环条件是否成立,成立则执行循环体,不成立则不执行循环体,继续循环结构下面的语句。
- 每一次正确执行循环体后的下一次循环开始,都会再次判断循环条件是否成立。
- 要注意循环条件是否可以为false,循环是否能够退出。
int i = 5;
do {
print(i);
i--;
} while (i >= 0);
执行结果:
5
4
3
2
1
0
- do - while 和 while 的区别是,do - while 必定会执行一次循环体,而while则可能一次都不执行。
2.3 循环控制语句
continue
: 立刻结束本次循环,开始下一次循环。break
: 立刻退出循环。嵌套循环,只退出一层循环。return
:在方法中调用,立刻结束方法的执行,并且返回return关键字后面的表达式结果。