IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

时间:2023-03-09 20:19:56
IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

双重for循环

如果把一个循环放在另一个循环体中,那么就可以形成嵌套循环,也就是双重for循环,当然嵌套循环也可以是for循环嵌套while循环,也可以是while循环嵌套while循环……,即各种类型的循环都可以作为外层循环,也可以作为内层循环。

当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行--只是内层循环需要反复执行自己的循环体而已。当内层循环执行结束,且外层循环的循环体执行结束时,则再次计算外层循环的循环条件,决定是否再次开始执行外层循环的循环体。

根据上面分析,假设外层循环的循环次数为n次,内层循环的循环次数为m次,那么内层循环的循环体实际上需要执行n x m次。嵌套循环的执行流程如图4.14所示:

从上图来看,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可以结束外层循环的当次循环,开始下一次循环。下面是一个经典的使用双重for循环在控制台打印三角形的示例代码:

public class ForDemo3{

public static void main(String[] args){

for(int i = 0; i <= 5; i++){

for(int j = 0; j < i; j++){

System.out.println("*");

}

System.out.println(" ");

}

}

}

IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

图14  双重for循环

编译并运行这个程序,控制台将显示如图15所示的信息。

IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

图15  ForDemo3运行结果

当然,在循环中不仅可以嵌套一层循环,理论上来说是可以无限嵌套的,但是如果循环嵌套的过多的话,会影响程序的性能,而且阅读起来也会非常吃力,所以在开发时应避免使用更深层的嵌套循环。