快速入门Scala(三):循环

xiaoxiao2021-03-01  49

分类目录:《快速入门Scala》总目录

有的时候,我们可能需要多次执行同一块代码,这时候就需要使用循环语句。Scala 语言提供了以下几种循环类型:

循环类型描述for 循环用来重复执行一系列语句直到达成特定条件达成while 循环如果条件为true,会重复执行语句,直到条件变为falsedo…while 循环类似while,但在判断循环条件之前,先执行一次循环的代码块

for循环

for循环允许编写一个执行指定次数的循环控制结构。

语法

for(var x <- iter ){ //for循环代码块 }

以上语法中,iter一般是一个可以迭代的对象,如Array或String,也可以是一个数字区间,如i to j(从i至j的所有整数),或者 i until j(从i至j除了j的所有整数)。其中,左箭头 <- 用于为变量 x 赋值。

for (i <- 1 to 10) println(i)
多区间for循环

在 for 循环中你可以使用分号(;)来设置多个区间,它将迭代给定区间所有的可能值,其效果类似于其他编程语言中循环的嵌套:

for (i <- 1 to 10; j <- 1 to 10) println(i + j)
for循环的过滤

可以使用一个或多个 if 语句来过滤一些元素,不同的条件使用分号(;)隔开。以下是在 for 循环中使用过滤器的语法:

for( var x <- iter if condition1; if condition2; ...){ //for循环代码块 }
for循环使用yield返回集合

使用yield可以将for循环的返回值作为一个变量存储到一个集合中,最后统一返回:

scala> for (i <- 1 to 3) yield i * 10 res1: scala.collection.immutable.IndexedSeq[Int] = Vector(10, 20, 30)

while循环

只要给定的条件为 true,中的 while 循环语句会重复执行循环体内的代码块:

while(condition){ //while循环代码块 }

condition可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。

do…while 循环

不像 while 循环在循环头部测试循环条件,do…while循环是在循环的尾部检查它的条件,这就说明do…while 循环会确保至少执行一次循环。

do { //do...while循环代码块 } while(condition) 如果条件为true,控制流会跳转回上面的do,然后重新执行循环中的代码块,这个过程会不断重复,直到给定条件变为false为止。
转载请注明原文地址: https://www.6miu.com/read-3650175.html

最新回复(0)