for循环

for循环语法结构: for(i <- 表达式/数据/集合)

val arr = Array(1,2,3,4,5)
 for (ele <- arr){
   print(ele+" ")
 }

用下标遍历的方法

val arr = Array(1,2,3,4,5)
 for (i<- 0 until  arr.length){
   print(arr(i)+" ")
 }

to 是左闭右闭,until 是左闭右开

for里面可以增加守卫

比如打印数组中偶数位置

val arr = Array(1, 2, 3, 4, 5)
for (i <- 0 until arr.length if i % 2 != 0) {
  print(arr(i) + " ")
}

双层for循环

for (i <- 1 to 3; j <- 1 to 3 if i != j) println(10 * i + j)

yeild

场景:从一个集合中过滤偶数

下面这样会报错

val arr = Array(1, 2, 3, 4, 5)
val a1 = for (ele <- arr if ele % 2 == 0) e 

正确方式

val arr = Array(1, 2, 3, 4, 5)
val a1 = for (ele <- arr if ele % 2 == 0) yield ele