for循环
for(i <- 表达式,数组,集合)
例如
for(I <- 1 to 10){
println(i)
}
1 to 10 是一个collection,Range,范围是1到10
1 until 10 范围是1到9
遍历一个字符串
val s = "scala"
for(i<-0 until s.length) println(s(i))
for(i<-s) println(i)
for(i<-0 until s.length) println(s.charAt(i))
双重for循环
双重for循环可以写在一起,并且加上条件判断
for循环条件中可以加入if语句进行限制,双重循环的两个循环条件i和j都可以加上if判断
for(i <- 1 to 10;j<- 1 to 10 if(j<=5)) print((10*i+j)+" ")
for循环的if判断叠加
if判断是可以连接多个的
def scalaFiles = for { file <- filesHere if file.isFile if file.getName.endsWith(".scala") } yield file
创建序列
val gg = for(i <- 1 to 10) yield i*10
yield介绍
使用yield会记录下当前循环到的值,并且存入一个集合中,循环结束后会将yield生成的集合进行返回,所以可以利用yield来进行变换
while循环和do…while循环
while(条件表达式){
块语句
}
do{
语句块
}while(条件表达式)