Scala中for循环的使用

43 阅读1分钟

1.for循环

[for ( 循环变量 <- 数据集) {]()  
  // 循环体代码  
}

说明:

1.如果循环变量的类型能被推断出来,是可以省略掉变量类型的。

2.这里的数据集可以是任意类型的数据集合,如字符串,集合,数组等等

列题:

//1.基本用法
    for(j <-1 to 20 by 1){
    println(j)
}

  //2.步长
  //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)
   }
  //打印1-20的偶数
    for(j <-1 to 20){
      if(j%2==0)
        println(j)
    }

2.循环守卫

可以在循环中添加条件,如果条件成立就执行循环。这个叫循环守卫。

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

3.循环的返回值

之前学习过if的返回值,for也可以获取到返回值,使用yield。

  //for循环的返回值
  //for 循环值是一个列表,里面保存了多个值
  val rs = for(i <-1 to 4) yield{
    i*2
  }
  println(rs)
  println(rs(0))
  println(rs(1))
  println(rs(2))
}

任务:

任务一:打印数字1 ~ 100,每行包括一组5个数,每组换行
var num = 0.0
for(i <-1 to 100){
  print(f"$i%3d")
  if(i%5==0)
    println()
}
任务二:输入一个正整数n,输出 斐波那契数列的前n项。
任务三:输入一个正整数n, 输出一个高度为n的等腰三角形。