范围遍历 to/until
for(i <- 1 to 10){
println(i + ".hello world"
}
------------输出结果--------------
1.hello world
2....
...
10.hello world
to是一个方法调用,可写成1.to(10)
for(i <- 1 until 10){
println(i + ".hello world"
}
------------输出结果--------------
1.hello world
2....
...
9.hello world
until是直到的意思,不包含10所以到9就会结束循环
集合遍历
for(i <- Array(12, 34, 53)){
println(i)
}
for(i <- List(12, 34, 53)){
println(i)
}
for(i <- Set(12, 34, 53)){
println(i)
}
------------输出结果--------------
12
34
53
...
12
34
53
循环守卫
for(i <- 1 to 10 if i != 5){
println(i)
}
------------输出结果--------------
1
2
3
4
6
7
8
9
10
类似于continue,当i不等于5时输出i的数值
循环步长
for(i <- 1 to 10 by 2){
println(i)
}
for(i <- 1 to 10 reverse){
println(i)
}
------------输出结果--------------
1
3
5
7
9
10
9
...
2
1
by是设置循环遍历的步长值,可以为负数,不可以为0,可以为浮点数但条件也得是浮点类型
reverse是反转,从后一位到前一位的遍历
嵌套循环
for(i <- 1 to 3){
for(j <- 1 to 3){
println("i = " + i + ",j = " + j)
}
}
--------------------------------
for(i <- 1 to 3; j <- 1 to 5){
println("i = " + i + ",j = " + j)
}
------------输出结果--------------
i = 1,j = 1
i = 1,j = 2
...
i = 3,j = 2
i = 3,j = 3
---------------------------------
i = 1,j = 1
i = 1,j = 2
i = 1,j = 3
...
i = 3,j = 4
i = 3,j = 5
循环引入变量
for(i <- 1 to 10){
val j = 10 - i
println("i = " + i + ",j = " + j)
}
for(i <- 1 to 10; j = 10 - i){
println("i = " + i + ",j = " + j)
}