就像if语句可以嵌套一样,一个循环也可以嵌套在另一个循环中,一个循环中含有另一个循环就称为嵌套循环。
嵌套循环的工作原理如下:首先外循环的第一轮触发内循环,内循环将一直执行到完成为止,然后,外循环的第二轮再次触发内循环,此过程不断重复直到外循环结束,使用嵌套循环时,只有在内循环完全结束后,外循环才会执行下一趟循环,
一个while循环可以嵌套在另一个while循环中,示例1演示了嵌套while循环的用法。
案例1:用*输出一个直角三角形图案。
在PbaseUnit10项目unit包下创建AngleSample类。代码如下:
/**
* @Title: AngleSample.java
* @Package unit
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date
* @version V1.0
*/
package unit;
/**
* @ClassName: AngleSample
* @Description:流程控制(while嵌套循环结构)案例1
* @author 编程训练营
* @date
*
*/
public class AngleSample {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
int nstars=1,stars;
//外层循环控制输出*的行数
while( nstars <= 10 )
{
stars = 1;
//内层循环控制打印星号的数量
while( stars <= nstars )
{
System.out.printf("*");
stars++;
}
System.out.printf("\n");
nstars++;
}
}
}程序结构分析:
程序功能主要是演示while嵌套循环语句的使用。
程序用外层循环控制输出“*”的行数,循环条件为nstars <= 10,nstars初始化为1,该条件允许输出10行“*”;内层循环控制“*”输出的数量,循环条件为stars <= nstars,内层循环开始前,stars都被赋值为1,然后在内层循环体内做自增操作。
程序执行结果如下图所示:
while循环和do-while循环也可以互相嵌套。例如,可以将示例1的内层while循环修改为do-while循环,或者将外层循环修改为do-while循环。