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(" ");
}
}
}
图14 双重for循环
编译并运行这个程序,控制台将显示如图15所示的信息。
图15 ForDemo3运行结果
当然,在循环中不仅可以嵌套一层循环,理论上来说是可以无限嵌套的,但是如果循环嵌套的过多的话,会影响程序的性能,而且阅读起来也会非常吃力,所以在开发时应避免使用更深层的嵌套循环。
最新文章
- EF优缺点的理解
- 判断listview是上滑还是下滑的方法
- 第四章 jQuery中的事件
- C# 保存和读取TreeView展开的状态
- PHP 内存不足
- Java关键字this的用法总结
- C++中使用stringstream简化类型转换
- dp 46(再做一遍)
- [转] iOS (OC) 中 KVC 与 KVO 理解
- 我学习go的五个感悟(译)
- 1.Servlet介绍 和 HTTP协议简述
- Linux之批量挂载硬盘
- Codeforces 1153D Serval and Rooted Tree (简单树形DP)
- Self-organizing Maps及其改进算法Neural gas聚类在异常进程事件识别可行性初探
- SQL SERVER的锁机制
- non-member function cannot have cv-qualifier
- Nginx管理脚本
- UVA 818 Cutting Chains(状压 + 暴搜)题解
- python就业班-淘宝-目录.txt
- Spring事务管理实现方式之编程式事务与声明式事务详解(转)