**Scala ** 的 while 循环 也可以实现嵌套的效果,即 while 循环里面嵌套一个或多个 while 循环。这种写法就类似于 Scala 的 for 循环 的嵌套。
while (cond1){ // do something while (cond2){ // do something while (cond3){ // do something } } }
参数
参数 描述 while while 循环使用的关键字。 cond while 循环的条件,如果为真,则一直执行 while 循环。 说明
这里,我们定义了三个 while 循环的嵌套,当然,我们可以嵌套任意多个的 while 循环,只要 cond1 为真,就一直执行 cond1 的代码块,只要 cond2 为 真,就一直执行 cond2 的代码块。
只要 cond3 为真,就一直执行 cond3 的代码块。
案例
循环嵌套
使用循环嵌套,打印计数器
object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") var i = 0 while (i < 3){ printf("i = %d\n", i) var j = 0 while (j < 2){ printf("\tj = %d\n", j) j += 1 } i += 1 } printf("%s\n", "Over") } }
程序运行后,控制台输出如下:
首先,我们定义了一个最外层的 while 循环嵌套,计数器 变量 i 从 0 开始,结束条件是 i < 3,每次执行一次循环将 i 的值加 1,并打印当前 i 的值。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i < 2,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
循环嵌套打印数列
使用循环嵌套,打印数列
object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") // 使用循环嵌套,打印计数器 var i = 0 while (i < 3){ printf("i = %d\n", i) var j = 0 while (j < i){ printf("\tj = %d\n", j) j += 1 } i += 1 } printf("%s\n", "Over") } }
程序运行后,控制台输出如下:
首先,我们定义了一个最外层的 while 循环嵌套,计数器变量 i 从 1 开始,结束条件是 i < 3,每次执行一次循环将 i 的值加 1,并打印当前 i 的值。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 j < i,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
Scala while循环嵌套总结
Scala 的 while 循环也可以实现嵌套的效果,即 while 循环里面嵌套一个或多个 while 循环。