for循环
(1)打印1~10(包含边界)
for(i<-1 to 10){
print(i+" ")
}
1 2 3 4 5 6 7 8 9 10
scala是纯粹的面向对象语言,所以,int类型的1也可以是一个对象,所以,也可以这样写:
for(i<-1.to(10)){
print(i+" ")
}
1 2 3 4 5 6 7 8 9 10
不包含边界的的打印为,打印1~9
for(i<-Range(1,10)){
print(i+" ")
}
1 2 3 4 5 6 7 8 9
还可以这样
for(i<-1 until 10){
print(i+" ")
}
1 2 3 4 5 6 7 8 9
(2)集合遍历
for(i<-Array(1,2,3)){
print(i+" ")
}
scala还可以遍历其它类型
for(i<-List(1,2,3)){
print(i+" ")
}
for(i<-Set(1,2,3)){
print(i+" ")
}
以上结果都是
1 2 3
(3)循环守卫
由于scala没有continue,所以提供了循环守卫,看下方代码,跳过5
for(i<-1 to 10 if i!=5){
print(i+" ")
}
1 2 3 4 6 7 8 9 10
(4)循环步长
for(i<-1 to 10 by 2){
print(i+" ")
}
1 3 5 7 9
(5)引入变量
for(i<-1 to 10;j=10-i){
print("("+i+","+j+") ")
}
println()
//还可以这样写
for{
i<-1 to 10;
j=10-i}
{
print("("+i+","+j+") ")
}
(1,9) (2,8) (3,7) (4,6) (5,5) (6,4) (7,3) (8,2) (9,1) (10,0)
(1,9) (2,8) (3,7) (4,6) (5,5) (6,4) (7,3) (8,2) (9,1) (10,0)
我们已经学习了scala for循环的基本使用,下面我们来实现一个小功能----九层妖塔
for(i<-1 to 9){
//打印※号
val stats=2*i-1
//打印空格
val spaces=9-i
println(" "*spaces+"*"*stats)
}
*
***
*****
*******
*********
***********
*************
***************
*****************
(6)循环返回值
val a = for(i<-1 to 9) yield i
println(a)
Vector(1, 2, 3, 4, 5, 6, 7, 8, 9)
(7)循环中断
Breaks.breakable(
for(i<- 1 to 5){
if(i==3){
Breaks.break()
}
println(i)
})
1
2
以上是scala的for循环的一些知识点,如果觉得不错,那就动动小手点个赞吧!