Scala - while 循环
while 循环在给定条件为真时重复执行一个语句或一组语句。它在执行循环体之前测试条件。while 循环语句只要给定条件为真,就反复执行目标语句。
语法
以下是 while 循环的语法。
while(condition){
statement(s);
}
这里,statement(s) 可以是一个语句或一组语句块。condition 可以是任意表达式,true 是任何非零值。只要条件为真,循环就会迭代。当条件变为假时,程序控制权传递到循环之后的下一行。
流程图
这里,while 循环的一个关键点是循环可能一次也不会执行。当测试条件时结果为假,循环体将被跳过,执行 while 循环之后的第一个语句。
Scala while 循环示例
尝试以下示例程序,以理解 Scala 编程语言中的循环控制语句(while 语句)——
object Demo {
def main(args: Array[String]) {
// 局部变量声明:
var a = 10;
// while 循环执行
while( a < 20 ){
println( "Value of a: " + a );
a = a + 1;
}
}
}
将上述程序保存为 Demo.scala。使用以下命令编译和执行该程序。
命令
\>scalac Demo.scala \>scala Demo
输出
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
Scala 嵌套 while 循环
嵌套 while 循环是一个 while 循环内的另一个 while 循环。每次外层循环执行一次,内层循环就会完全执行一遍。
语法
以下是嵌套 while 循环的语法。
while (condition1) {
while (condition2) {
statement(s);
}
statement(s);
}
这里,condition1 和 condition2 都是求值为 true 或 false 的表达式。外层循环(condition1)控制内层循环(condition2)执行的次数。每次外层循环迭代时,内层循环都会从头到尾完全运行。内层循环内的语句只要 condition2 为真就会反复执行。内层循环完成后,执行内层循环之后的语句。当 condition1 变为假时,程序控制权传递到外层循环之后的下一行。
示例
尝试以下示例程序,以理解 Scala 编程语言中的嵌套 while 循环——
object Demo {
def main(args: Array[String]) = {
// 局部变量声明:
var i = 0
var j = 0
// while 循环执行
while (i < 3) {
j = 0
while (j < 3) {
println("i: " + i + ", j: " + j)
j = j + 1
}
i = i + 1
}
}
}
将上述程序保存为 Demo.scala。使用以下命令编译和执行该程序。
命令
\>scalac Demo.scala \>scala Demo
输出
i: 0, j: 0 i: 0, j: 1 i: 0, j: 2 i: 1, j: 0 i: 1, j: 1 i: 1, j: 2 i: 2, j: 0 i: 2, j: 1 i: 2, j: 2