val start = 1
val end = 10
// start从那个值开始循环
// to关键字
// end循环结束的值
// start to end 表示前闭后闭
for(i <- 1 to 10){
println(i)
}
// for也可以对集合进行遍历
var list = List("hello","tom","30")
for(item <- list){
println(item)
}
// until 前闭后开
for (i <- 1 until 11){
println(i)
2 循环守卫
//循环守卫即循环保护式,保护式为true,则进入循环体内部,
// 为false则跳过,类似与continue
for (i <- 1 to 3 if i != 2){
println(i
3 嵌套循环
// 等价循环
for (i <- 1 to 3; j <- 1 to 3) {
println(i + "" + "\t" + j + "")
}
// 上面的代码等价于下面的
for (i <- 1 to 3) {
for (j <- 1 to 3) {
println(i + "" + "\t" + j + "")
}
// 还可以这样使用
for {
i <- 1 to 3
j <- 1 to 3} {
println(i + "" + "\t" + j + "")
}
3 循环返回值
/*
res = for (i <- 1 to 10) yield i
1 表示对 1 to 10 进行遍历
2 yield i将没此循环得到的i放到vector中,并返回给res
3 i 这里可以是一个代码块
*/
val res = for (i <- 1 to 10) yield i
println(res)
val res1 = for (i <- 1 to 10) yield {
if(i % 2 == 0){
i
}else{
i + "不是偶数"
}
}
println(res1)
4 for控制步长
// 控制步长方式1
for (i <- Range(1,10,2)){
println(i)
}
println("*"*10)
// 控制步长方式2
for(i <- 1 to 10 if i % 2 ==1){
println(i)
}