9 控制结构之循环结构
在Scala中,循环结构是控制程序流程的重要部分,为处理重复性的任务提供了便利。在本篇教程中,我们将深入探讨Scala中的循环结构,包括for
循环、while
循环和do while
循环,并结合具体案例,以帮助读者掌握这些概念。
一、for
循环
for
循环是Scala中常用的循环结构,它不仅能遍历集合,还可以结合yield
关键字生成新集合。
1. 遍历集合
我们首先来看一个简单的案例,使用for
循环遍历一个列表:
1 | val numbers = List(1, 2, 3, 4, 5) |
在这个例子中,for
循环通过<-
操作符从numbers
集合中依次取出每一个元素,并打印出来。
2. for
循环与yield
for
循环还可以用于生成新集合,这被称为for
推导。下面的例子展示了如何使用yield
来创建一个新列表:
1 | val squares = for (number <- numbers) yield number * number |
在这个例子中,我们创建了一个新的列表squares
,它包含了numbers
中每个数字的平方。
二、while
循环
while
循环用于在特定条件为true时执行代码块,适合用于那些不知道确切迭代次数的场景。
1. 基本使用
下面的例子展示了如何使用while
循环从1累加到5:
1 | var sum = 0 |
在这个例子中,while
循环持续执行,直到i
大于5为止,最终计算得到了1到5的总和。
三、do while
循环
do while
循环与while
循环类似,但它会至少执行一次代码块,因为条件检查发生在循环结束后。
1. 示例
下面的例子展示了如何使用do while
循环:
1 | var j = 1 |
在这个例子中,do while
循环计算了5的阶乘。在do
块中的代码至少会被执行一次,即使初始条件不满足。
四、小结
循环结构在Scala中是极为重要的控制结构,使我们能轻松地处理多次执行的任务。我们学习了for
循环、while
循环和do while
循环,并通过简单的案例演示了它们的使用。在控制结构之条件语句中,我们讨论了如何根据条件决定代码的执行路径,而在本节中,我们进一步探讨了如何使用循环结构实现重复性任务的自动化。
接下来,我们将进入控制结构之模式匹配的主题,这将使我们更深入地理解Scala中各种控制结构的用法和优势。
9 控制结构之循环结构