有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。
编程语言提供了更为复杂执行路径的多种控制结构。
循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:
循环类型
Scala有和JAVA ,C++相似的while和do循环
while(n>5){
println(n)
n -= 1
}
Scala 没有与for(初始化变量;检查变量是否满足条件;更新变量) 循环直接对应的循环结构。如果需要这样的循环有两个选择:一,利用while循环,二,利用下面的for循环结构
for( i <- 1 to n){
val r =2*i
println(r)
}
1 to n 这个返回数字1到(含)的区间(Range)
for(i <- 表达式){
······
}
让变量i遍历右边表达式的所有。至于具体如何,则取决于表达式的。对于Scala集合比如Range而言,这个循环会让i取区间的每一个值
说明:for循环的变量并没有声明var或val,该变量的类型是集合的元素类型,循环的作用域一直持续到循环结束
在遍历数组和字符串时,通常需要使用0到n-1这个区间,这时就不能用1 to n了,这时可以使用until方法,until方法返回一个并不包含上限的区间。
val s =”hello”
var sum =0
for (i <- 0 until s.length()) {
sum += s(i)
}事实上我们并不需要下标,可以直接遍历对应的字符序列
var sum =0
for (i <- “hello”) {
sum += i
println(sum)
}
Scala中,对循环的使用并不像其他语言那么频繁。以后可以通过调用函数进行解决。