Scala循环

Scala是一种现代化的编程语言,它结合了面向对象编程和函数式编程的特性。在Scala中,循环是一种常见的编程结构,用于重复执行一些代码块。本文将介绍Scala中的常用循环语句以及如何使用它们。

for循环

在Scala中,for循环是最常用的循环结构。它的语法类似于其他编程语言中的for循环,但有一些额外的功能。

基本语法

Scala的for循环语法如下:

for (variable <- collection) {
  // 循环体
}

其中,variable是一个变量,collection是一个可迭代的集合(如List、Array等)。循环体是在每次迭代中执行的代码块。

示例

下面是一个简单的示例,演示了如何使用for循环来遍历一个整数列表并打印出每个元素:

val numbers = List(1, 2, 3, 4, 5)

for (num <- numbers) {
  println(num)
}

输出结果:

1
2
3
4
5

循环守卫(Guards)

在Scala的for循环中,我们可以使用循环守卫来过滤元素。循环守卫是在循环体之前的一个布尔表达式,如果表达式的值为真,则执行循环体。

下面的示例演示了如何使用循环守卫来过滤奇数并打印偶数:

val numbers = List(1, 2, 3, 4, 5)

for (num <- numbers if num % 2 == 0) {
  println(num)
}

输出结果:

2
4

嵌套循环

在Scala中,我们可以使用嵌套循环来执行复杂的循环操作。嵌套循环是指在一个循环内部再嵌套另一个循环。

下面的示例演示了如何使用嵌套循环来打印一个九九乘法表:

for (i <- 1 to 9; j <- 1 to 9) {
  println(s"$i * $j = ${i * j}")
}

输出结果:

1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
...
9 * 9 = 81

while循环

除了for循环,Scala还支持while循环。while循环是一种基本的循环结构,它的语法类似于其他编程语言中的while循环。

基本语法

Scala的while循环的语法如下:

while (condition) {
  // 循环体
}

其中,condition是一个布尔表达式,如果表达式的值为真,则执行循环体。循环体会一直执行,直到条件不再满足。

示例

下面是一个简单的示例,演示了如何使用while循环来计算1到10的和并打印结果:

var sum = 0
var i = 1

while (i <= 10) {
  sum += i
  i += 1
}

println(sum)

输出结果:

55

do-while循环

do-while循环是一种先执行循环体再检查条件的循环结构。它与while循环的区别在于,循环体至少会执行一次。

基本语法

Scala的do-while循环的语法如下:

do {
  // 循环体
} while (condition)

与while循环类似,condition是一个布尔表达式,如果表达式的值为真,则继续执行循环体。

示例

下面是一个简单的示例,演示了如何使用do-while循环来计算1到10的和并打印结果:

var sum = 0
var i = 1

do {