Scala中for循环

4 阅读1分钟

for循环语法格式

for(var x <- range;表达式1;表达式2){
  statement(s)
}

步长

// 1 2 3 4 5 6 7 8 (步长:1)
// 1 3 5 7 9 11 13 15 (步长:2)
for(i <- 1 to 20 by 2){
  println(i)
}

循环守卫

for(循环变量 <-数据集 if condition1;if condition2...){ 循环体 }

for(j <- 1 to 20;if(j%2==0)){
  println(j)
}

for循环的返回值

for循环值是一个列表,里面保持了多个值

val rs = for(i <- 1to 4)yield {
  i*2
}
println(rs) // Vector(2,4,6,8)
println(rs(0))
println(rs(1))
println(rs(2))

练习

在 Scala 中打印数字 1 到 100,且每行包含 5 个数的程序

object work22 {
  def main(args: Array[String]): Unit = {
    /**
     *
     *  1 2 3 4 5
     *  6 7 8 9 10
     *  11 12 13 14 15
     *  16 17 18 19 20
     *  ......
     *  96 97 98 99 100
     *
     */
    for(i <- 1 to 100){
      printf("%4d", i)
      if(i % 5 == 0){
        println( )
      }
    }
  }
}

输入一个正整数n,输出裴波那契数列的前n项