9 控制结构之循环结构

在Scala中,循环结构是控制程序流程的重要部分,为处理重复性的任务提供了便利。在本篇教程中,我们将深入探讨Scala中的循环结构,包括for循环、while循环和do while循环,并结合具体案例,以帮助读者掌握这些概念。

一、for循环

for循环是Scala中常用的循环结构,它不仅能遍历集合,还可以结合yield关键字生成新集合。

1. 遍历集合

我们首先来看一个简单的案例,使用for循环遍历一个列表:

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

for (number <- numbers) {
println(s"The number is: $number")
}

在这个例子中,for循环通过<-操作符从numbers集合中依次取出每一个元素,并打印出来。

2. for循环与yield

for循环还可以用于生成新集合,这被称为for推导。下面的例子展示了如何使用yield来创建一个新列表:

1
2
val squares = for (number <- numbers) yield number * number
println(s"The squares are: $squares")

在这个例子中,我们创建了一个新的列表squares,它包含了numbers中每个数字的平方。

二、while循环

while循环用于在特定条件为true时执行代码块,适合用于那些不知道确切迭代次数的场景。

1. 基本使用

下面的例子展示了如何使用while循环从1累加到5:

1
2
3
4
5
6
7
8
9
var sum = 0
var i = 1

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

println(s"The sum is: $sum")

在这个例子中,while循环持续执行,直到i大于5为止,最终计算得到了1到5的总和。

三、do while循环

do while循环与while循环类似,但它会至少执行一次代码块,因为条件检查发生在循环结束后。

1. 示例

下面的例子展示了如何使用do while循环:

1
2
3
4
5
6
7
8
9
var j = 1
var factorial = 1

do {
factorial *= j
j += 1
} while (j <= 5)

println(s"The factorial of 5 is: $factorial")

在这个例子中,do while循环计算了5的阶乘。在do块中的代码至少会被执行一次,即使初始条件不满足。

四、小结

循环结构在Scala中是极为重要的控制结构,使我们能轻松地处理多次执行的任务。我们学习了for循环、while循环和do while循环,并通过简单的案例演示了它们的使用。在控制结构之条件语句中,我们讨论了如何根据条件决定代码的执行路径,而在本节中,我们进一步探讨了如何使用循环结构实现重复性任务的自动化。

接下来,我们将进入控制结构之模式匹配的主题,这将使我们更深入地理解Scala中各种控制结构的用法和优势。

9 控制结构之循环结构

https://zglg.work/scala-lang-zero/9/

作者

AI免费学习网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论