Scala 循环


Scala的循环语法与其他语言类似,包含for、while和do-while三种循环方式,下面将对它们进行详细介绍。

  1. for循环:

for循环是一种遍历集合或者数组的语法结构。其基本语法为:

for(element <- collection){
  //do something
}

其中,element表示集合中的每个元素,collection表示要遍历的集合/数组。for循环可以用于遍历任何实现了Iterable类型的集合类,包括List、Set、Array等。同时,Scala的for循环还支持多个生成器的语法,例如:

for(i <- 1 to 3; j <- 1 to 3){
  println(s"($i, $j)")
}

上述代码将会输出如下内容:

(1,1)
(1,2)
(1,3)
(2,1)
(2,2)
(2,3)
(3,1)
(3,2)
(3,3)

此外,for循环还支持使用if语句进行条件筛选,例如:

val lst = List(1, 2, 3, 4, 5)
for(i <- lst if i % 2 == 0){
  println(i)
}

上述代码将会输出2、4,因为它们满足if条件。

  1. while循环:

while循环是一种基本的循环结构,其语法格式为:

while(condition){
  //do something
}

其中,condition表示循环的条件,只要条件为真,循环就会一直执行。例如:

var i = 0
while(i < 5){
  println(i)
  i += 1
}

上述代码将会输出0、1、2、3、4。

  1. do-while循环:

do-while循环也是一种基本的循环结构,其语法格式为:

do{
  //do something
} while(condition)

其中,condition表示循环的条件,与while循环不同的是,do-while循环会先执行一次循环体,再根据条件判断是否继续循环。例如:

var i = 0
do {
  println(i)
  i += 1
} while(i < 5)

上述代码将会输出0、1、2、3、4。与while循环的区别在于,即使i为0,循环体也会至少执行一次。