Dart流程语句控制程序执行的流程,根据条件决定执行的代码,或重复执行特定代码块,常用语句有if、else、for、while等。
1 if语句
main() {
// if...else...语句
String today = '星期一';
if(today == '星期一') {
print('今天星期一');
} else {
print('美好的一天');
}
}
2 switch
main() {
// switch...case语句
String today = '星期一';
switch(today) {
case '星期一':
print('今天星期一');
break;
default:
print('美好的一天');
break;
}
}
3 for和while
- 第一次循环条件不成立的情况,while循环不执行,do…while循环执行一次。
main() {
// for循环
for(int x=1; x<=3; x++) {
print('for循环:$x');
}
// while循环
int y = 1;
while(y <= 3) {
print('while循环:$y');
y++;
}
// do...while循环
int z = 1;
int sum = 0;
do {
sum += z;
z++;
} while(z <= 3);
print('do...while循环的和:$sum');
}
4 跳出一层循环
- break用于跳出循环,如果有多层循环,则只能跳出一层循环。
main() {
// break跳出循环
for(var i=1; i<=5; i++) {
if(i == 4) {
break;
}
print(i);
}
}
5 跳出本次循环
- continue用来跳出本次循环。
main() {
// continue跳出本次循环
for(var i=1; i<=3; i++) {
if(i == 2) {
continue;
}
print(i);
}
}
6 其他循环语句
- any(只要集合中有满足条件的数据就返回true)、map(修改集合中的数据)。
- every(集合中的每一个数据都必须满足条件才返回true,否则将返回false)。
- where(返回满足条件的数据)、forEach(循环遍历List)。
6-1 any
main() {
// any
List mylist = [1, 3, 5, 7, 9];
var anyList = mylist.any((value) {
return value >= 5;
});
print(anyList);
}
6-2 map
main() {
// map
List mylist = [1, 2, 3];
var doubleList = mylist.map((value) {
return value * 2;
});
print(doubleList.toList());
}
6-3 every
main() {
// every
List mylist = [1, 3, 5, 7, 9];
var everyList = mylist.every((value) {
return value >= 5;
});
print(everyList);
// 循环方法同样适用于set
var s = new Set();
s.addAll([11111, 22222, 33333]);
s.forEach((value) => print(value));
// 循环方法同样适用于map
var person = {'姓名': '张三', '工作': '测试'};
person.forEach((key, value) {
print('$key --- $value');
});
}
6-4 where
main() {
// where
List mylist = [1, 3, 5, 7, 9];
var newList = mylist.where((value) {
return value >= 5;
});
print(newList.toList());
}
6-5 forEach
main() {
List mylist = ['樱桃', '西瓜', '香蕉'];
for(var i=0; i<mylist.length; i++) {
print('方法一:${mylist[i]}');
}
for(var item in mylist) {
print('方法二:$item');
}
// forEach
mylist.forEach((value) {
print('forEach:$value');
});
}