Kotlin 循环嵌套,循环嵌套是指在一个循环语句的循环体中再定义一个循环语句的语法结构,while、do…while、for
循环语句都可以进行嵌套,并且它们之间也可以相互嵌套,如最常见的for循环中嵌套for循环,格式如下:
for (循环对象in循环条件) {
…
for (循环对象in循环条件) {
执行语句
…
}
…
}
接下来的案例为使用“*”打印直角三角形,具体代码如下所示。
package com.itheima.chapter02.cycle
fun main(args: Array<String>) {
// 循环6 次,且步长为1 的递增,0..5 表示[0,5]之间
for (i in 0..5) { // 外层循环
for (j in 0..i) { // 内层循环
print(" * ") // 打印*
}
print("\n") // 换行
}
}
运行结果:
*
**
***
****
*****
******
上述代码中定义了两层for循环,分别为外层循环和内层循环,外层循环用于控制打印的行数,内层循环用于打印 "*"
,每一行的 "*"
个数逐行增加,最后输出一个直角三角形,由于嵌套循环程序比较复杂,下面我们来分步骤地进行详细地讲解,具体如下。
- 第1步:在第4行代码将循环条件定为
0..5
,表示[0,5]
之间,变量i的值是从0开始的,循环条件是i的值在[0,5]
之间,程序首次进入外层循环的循环体。 - 第2步:在第5行代码将内层循环的循环条件定为
0..i
,而此时i的值为0,j的初始值为0,内层的循环条件为[0,0]
,j的值符合内层的循环条件,程序首次进入内层循环的循环体,打印一个"*"
。 - 第3步:执行完第6行代码之后,变量j的值自增1,此时变量j的值为1。
- 第4步:执行第5行代码,此时j的值为1,而内层的循环条件为
[0,0]
,此时j的值不符合内层的循环条件,内层循环结束。执行后面的代码,打印换行符。 - 第5步:执行完第8行代码打印换行符之后,变量i的值自增1,此时变量i的值为1。
- 第6步:执行第4行代码,循环条件i的值的范围为
[0,5]
,而此时i的值为1,符合循环条件,进入外层循环的循环体,继续执行内层循环。 - 第7步:由于i的值为1,内层循环会执行两次,即在运行结果的第2行打印两个
"*"
。在内层循环结束时会打印换行符。 - 第8步:以此类推,在运行结果的第3行会打印3个
"*"
,逐行递增,直到i=6
时,外层循环的判断条件i的值在[0,5]
之间,i的值不符合循环条件,整个程序结束。
酷客教程相关文章:
评论前必须登录!
注册