04.Dart循环语句 for while do while break continue多维列表循环
# 1. ++ --
void main(){
/*
++ -- 表示自增 自减 1
在赋值运算里面 如果++ -- 写在前面 这时候先运算 再赋值,如果++ --写在后面 先赋值后运行运算
var a=10;
var b=a--;
print(a); //9
print(b); //10
*/
// var a=10;
// a++; //a=a+1;
// print(a);
// var a=10;
// a--; //a=a-1;
// print(a);
// var a=10;
// var b=a++;
// print(a); //11
// print(b); //10
// var a=10;
// var b=++a;
// print(a); //11
// print(b); //11
// var a=10;
// var b=--a;
// print(a); //9
// print(b); //9
// var a=10;
// var b=a--;
// print(a); //9
// print(b); //10
var a=10;
++a;
print(a);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 2. for循环以及循环遍历List
/*
// for基本语法
for (int i = 1; i<=100; i++) {
print(i);
}
//第一步,声明变量int i = 1;
//第二步,判断i <=100
//第三步,print(i);
//第四步,i++
//第五步 从第二步再来,直到判断为false
*/
void main(){
// for(int i=1;i<=10;i++){
// print(i);
// }
//1、打印0-50所有的偶数
// for(int i=0;i<=50;i++){
// if(i%2==0){
// print(i);
// }
// }
//2、求 1+2+3+4 +...100的和
// var sum=0;
// for(var i=1;i<=100;i++){
// sum+=i;
// }
// print(sum);
/*
sum=0+1;
sum=0+1+2;
sum=0+1+2+3+...+100;
*/
// 3、计算5的阶乘 (1*2*3*4*5 n的阶乘1*2……*n)
// var sum=1;
// for(var i=1;i<=5;i++){
// sum*=i;
// }
// print(sum);
/*
sum=1*1;
sum=1*1*2;
sum=1*1*3;
sum=1*1*3*4*5;
*/
//4、打印List ['张三','李四','王五'] 里面的内容
// List list=['张三','李四','王五'];
// print(list[1]);
// for(var i=0;i<list.length;i++){
// print(list[i]);
// }
//5、打印List
// List list=[{
// "title":"新闻111"
// },
// {
// "title":"新闻222"
// },
// {
// "title":"新闻333"
// }];
// print(list[1]);
// for(var i=0;i<list.length;i++){
// print(list[i]['title']);
// }
//4、定义一个二维数组 打印里面的内容
List list=[
{
"cate":'国内',
"news":[
{"title":"国内新闻1"},
{"title":"国内新闻2"},
{"title":"国内新闻3"}
]
},
{
"cate":'国际',
"news":[
{"title":"国际新闻1"},
{"title":"国际新闻2"},
{"title":"国际新闻3"}
]
}
];
/*
国内
国内新闻1
国内新闻2
国内新闻3
国际
国际新闻1
国际新闻2
*/
for(var i=0;i<list.length;i++){
print(list[i]["cate"]);
print('-------------');
for(var j=0;j<list[i]["news"].length;j++){
print(list[i]["news"][j]["title"]);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# 3. while do...while
/*
语法格式:
while(表达式/循环条件){
}
do{
语句/循环体
}while(表达式/循环条件);
注意: 1、最后的分号不要忘记
2、循环条件中使用的变量需要经过初始化
3、循环体中,应有结束循环的条件,否则会造成死循环。
*/
void main(){
/*
int i=1;
while(i<=10){
print(i);
}
//死循环
*/
// int i=1;
// while(i<=10){
// print(i);
// i++;
// }
//1、求1+2+3+4 ...+100的和
// int i=1;
// var sum=0;
// while(i<=100){
// sum+=i;
// i++;
// }
// print(sum);
// int i=1;
// var sum=0;
// do{
// sum+=i;
// i++;
// }while(i<=100);
// print(sum);
//while 和 do while的区别 第一次循环条件不成立的情况下
// int i=10;
// while(i<2){
// print('执行代码');
// }
var j=10;
do{
print('执行代码');
}while(j<2);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# 4. break和continue
/*
break语句功能:
1、在switch语句中使流程跳出switch结构。
2、在循环语句中使流程跳出当前循环,遇到break 循环终止,后面代码也不会执行
强调:
1、如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。
2、在多层循环中,一个break语句只能向外跳出一层
break可以用在switch case中 也可以用在 for 循环和 while循环中
continue语句的功能:
【注】只能在循环语句中使用,使本次循环结束,即跳过循环体重下面尚未执行的语句,接着进行下次的是否执行循环的判断。
continue可以用在for循环以及 while循环中,但是不建议用在while循环中,不小心容易死循环
*/
void main() {
// for(var i=1;i<=10;i++){
// print(i);
// }
//1、如果i等于4的话跳过
// for(var i=1;i<=10;i++){
// if(i==4){
// continue; /*跳过当前循环体 然后循环还会继续执行*/
// }
// print(i);
// }
//2、如果 i等于4的话跳出循环
// for(var i=1;i<=10;i++){
// if(i==4){
// break; /*跳出循环体*/
// }
// print(i);
// }
//3、break语句只能向外跳出一层
// for(var i=0;i<5;i++){
// print('外层---$i');
// for(var j=0;j<3;j++){
// if(j==1){
// break;
// }
// print('里层$j');
// }
// }
//4、while循环 break跳出循环
var i=1;
while(i<=10){
if(i==4){
break;
}
print(i);
i++;
}
// var sex="男";
// switch (sex) {
// case "男":
// print('男');
// break;
// case "女":
// print('男');
// break;
// default:
// }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
编辑 (opens new window)
上次更新: 2024/05/08, 17:54:31
- 01
- Node基础07-23
- 03
- 03.Dart运算符 条件表达式 Dart类型转换05-08