# 流程控制
- 顺序控制
- 分支控制
- 循环控制
# 1. 顺序控制

# 2. 分支控制
if (条件表达式1) {
执行代码块1
}
else if (条件表达式2) {
执行代码块2
}
// ……
else {
执行代码块n
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 3. 循环控制
# 3.1 for 循环
// 输出 1-10,前后闭合
for (i <- 1 to 10) {
print(i + " ") // 1 2 3 4 5 6 7 8 9 10
}
println()
// 输出 1-10,左闭右开
for (i <- 1 until 10) {
print(i + " ") // 1 2 3 4 5 6 7 8 9
}
println()
// 循环守卫
for (i <- 1 to 10 if i % 2 != 0) {
print(i + " ") // 1 3 5 7 9
}
println()
// 循环返回值,将遍历过程中处理的结果返回到一个新Vector集合中,使用yield关键字。
val res = for(i <- 1 to 10) yield i
println(res)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 3.2 while 循环
var i = 1
var sum = 0
while (i <= 100) {
sum += i
i += 1
}
println(s"1+2+3+...+100=$sum") // 1+2+3+...+100=5050
1
2
3
4
5
6
7
2
3
4
5
6
7
# 3.3 do while 循环
var j = 1
var re = 1
do {
re *= j
j += 1
} while (j <= 10)
println(s"1 * 2 * 3 * ... * 10=$re") // 1 * 2 * 3 * ... * 10=3628800
1
2
3
4
5
6
7
2
3
4
5
6
7