嵌套循环

嵌套循环

所谓嵌套循环,是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。

总共的循环次数=外循环次数 * 内循环次数
外层循环执行每一次、内层循环就会执行多次

【例题1】循环输出时、分、秒
1小时60分钟,1分钟60秒

package com.jinglan.loop;

public class Demo01 {
	
	public static void main(String[] args) {
		for (int hour = 0; hour < 24; hour++) {// 小时
			for (int minute = 0; minute < 60; minute++) {// 分钟
				for (int second = 0; second < 60; second++) {// 秒
					System.out.println(hour + "点" + minute + "分" + second + "秒");
				}
			}
		}
	}
}

运行结果
太长了!从0时0分0秒到23时59分59秒
在这里插入图片描述
温馨提示:你可能会出现代码运行后的控制台上数据显示不全的问题,那是因为控制台显示数据的长度收到了限制
解决方法:Window->Preferences->Run/Debug->Console->取消Limit console output前的复选框。

【例题2】打印出一个5行8列的矩形
外层循环控制行、内层循环控制列

package com.jinglan.loop;

public class Demo01 {
	// 外层循环控制行、内层循环控制列
	public static void main(String[] args) {

		// 用*号打印出一个5行8列的矩形
		// 外层循环控制行row、内层循环控制列list
		// 打印5行*号,每行8个
		for (int row = 1; row < 6; row++) {
			for (int list = 1; list < 9; list++) {
				// 不换行打印星号
				System.out.print("*");
			}
			// 内循环打印8个星号后,需要一次换行
			System.out.println();
		}

	}
}

运行结果:
在这里插入图片描述
对于【例题2】这里做一个详细的执行顺序的解说
在这里插入图片描述
从第一个for循环开始执行——》int row = 1;——》row<6满足条件,执行循环体,首先执行循环体中的for循环——》int list=1;——》list<9满足条件,执行System.out.print("");语句生成一个 星号,执行——》list++;此时list=2,依旧满足list<9的循环条件,
执行System.out.print("
");语句生成第二个星号…生成第八个星号,执行——》llist++,此时list=9,不满足循环条件,于是内层循环执行结束,程序向下执行System.out.println();语句生成一个空行,后续没有需要执行的代码了,于是row++,此时row=2满足外层循环条件,于是外层for循环继续向下执行——》int row = 2;——》row<6满足条件,执行循环体,首先执行循环体中的for循环——》int list=1;——》list<9满足条件,执行System.out.print("");语句生成一个 星号,执行——》list++;此时list=2,依旧满足list<9的循环条件,执行System.out.print("");语句生成第二个星号…生成第八个星号,执行——》llist++,此时list=9,不满足循环条件,于是内层循环执行结束,程序向下执行System.out.println();语句生成一个空行,后续没有需要执行的代码了,于是row++,此时row=3满足外层循环条件,

外层循环结束,完美运行出结果

【例题3】使用循环语句打印出一个10行10列的星号
跟【例题2】原理一样,改变一下数字即可

package com.jinglan.loop;

public class Demo01 {
	// 外层循环控制行、内层循环控制列
	public static void main(String[] args) {

		// 打印出一个10行10列的星号
		// 外层循环控制行row、内层循环控制列list
		// 打印10行*号,每行10个
		for (int row = 1; row < 11; row++) {
			for (int list = 1; list < 11; list++) {
				// 不换行打印星号
				System.out.print("*");
			}
			// 内循环打印个10星号后,需要一次换行
			System.out.println();
		}

	}
}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志Java工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值