# 9.循环语句
# ++ --
- ++ -- 表示自增 自减
- 在赋值运算里, 如果 ++ -- 写在前面, 这时候先运算, 再赋值
- 再赋值运算里, 如果 ++ -- 写在后面, 这时候先赋值, 再运算
void main() {
// ++ --
var a = 10;
a++; // a = a + 1
print(a); // 11
var b = 10;
b--;
print(b);
// ++写在后面 先赋值运算, 再自增
var c = 10;
var d = c++;
print(c); // 11
print(d); // 10
// ++写在前面 先自增, 再赋值运算
var e = 10;
var f = ++e;
print(e); // 11
print(f); // 11
// -- 同理
}
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# for循环
// 打印1-10的值
for(int i=1; i<=10;i++) {
print(i);
}
1
2
3
4
2
3
4
# while do...while
/**
* while(表达式/循环条件) {
*
* }
*
* do {
* 语句/循环体
*
* }while(表达式/循环条件);
*
* 注意: 1.最后的分号不要忘记
* 2.循环条件中使用的变量需要经过初始化
* 3.循环体中, 应有结束循环的条件, 否则会造成死循环
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
示例
void main() {
// 1.打印1-10的数字
int i = 1;
while(i<=10) {
print(i);
i++;
}
// 2.求 1+2+3+4+...+100的和
// while
int j=1;
var sum=0;
while(j<=100) {
sum+=j;
j++;
}
print(sum); // 5050
// do..while
int k = 1;
var sum2 = 0;
do {
sum2 += k;
k++;
}while(k<=100);
print(sum2); // 5050
// while 和 do while的区别 第一次循环条件不成立的情况下
int x=10;
while(x<2) {
print('执行代码--x'); // 不会打印
}
var y = 10;
do{
print('执行代码--y'); // 执行代码--y
}while(y<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
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
# break和continue
/**
* break语句功能:
* 1.在switch语句中使流程跳出switch结构.
* 2.在循环语句中使流程跳出当前循环, 遇到break 循环终止, 后面代码也不会执行
*
* 强调:
* 1.如果在循环中已经执行了break语句, 就不会执行循环体中位于break后的语句
* 2.在多层循环中, 一个break语句只能向外跳出一层
*
* break可以用在 switch case中, 也可以用在 for 循环 和 while循环中
*
* continue语句的功能:
* [注] 只能在循环语句中使用, 使本次循环结束, 即跳过循环体重下面尚未执行的语句, 接着进行下
* continue可以用在for循环以及 while循环中, 但是不建议用在while循环中, 不小心容易死循环
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
示例
main() {
for (int i = 1; i <= 10; i++) {
print(i);
}
// 1.如果i等于4的话跳过
for (int i = 1; i <= 10; i++) {
if(i==4) {
continue; // 跳过当前循环体, 然后循环还会继续执行
}
print(i);
}
// 2.如果 i等于4的话跳出循环
for (int 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');
}
}
}
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
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
← 8.运算符&&条件表达式 10.集合类型 →