Java基础:for 循环结构嵌套的介绍与使用

我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。
在这里插入图片描述

一、什么是嵌套循环

  • 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while 均可以作为外层循环或内层循环。
  • 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
  • 设外层循环次数为 m 次,内层为 n 次,则内层循环体实际上需要执行 m * n 次。

二、代码演示

1、打印不同形状星星
class ForForTest {
	public static void main(String[] args) {

		/*
		******
		******
		******
		******
		*/
		for(int j = 1;j <= 4;j++ ){
			for(int i = 1;i <= 6;i++){
				System.out.print('*');
			}
			System.out.println();
		}

		/*			i(行号)		j(*的个数)
		*			1			1
		**			2			2
		***			3			3
		****		4			4
		*****		5			5
		*/

		for(int i = 1;i <= 5;i++){//控制行数
			for(int j = 1;j <= i;j++){//控制列数
				System.out.print("*");
			
			}
			System.out.println();
		}
		
		/*			i(行号)		j(*的个数)   规律:i + j = 5 换句话说:j = 5 - i;
		****		1			4
		***			2			3
		**			3			2
		*			4			1
		*/	

		for(int i = 1;i <= 4;i++){
			for(int j = 1;j <= 5 - i;j++){
				System.out.print("*");	
			}
			System.out.println();
		}
		
	/**
   *
   * * *
   * * * * *
   * * * * * * *
   * * * * *
   * * *
   *
	*/
	for (int i = 0; i < 7; i++) {
			if (i < 4) {
				for (int j = 0; j < 2 * i + 1; j++) {
					System.out.print("* ");
				}
				System.out.println();
			} else {
				for (int k = 0; k < 13 - 2 * i; k++) {
					System.out.print("* ");
				}
				System.out.println();
			}
}

二、循环中的一些终止操作

1、普通循环

  • continue: 用于循环体内,跳过本次循环,继续执行
  • break: 用于循环体内,跳出整个循环,不在执行

2、增强for循环

  • return: 用户循环体内,等同于 continue 的使用

3、多层for循环的原理

  • 1、先走第一层,再走第二层,再走第三层,依次类推
  • 2、走到第最后一层会把最后一层所有的循环走完,再反回来走第二层,再把第二层走完,又走第一层
  • 3、然后:继续1、2步骤直到第一层结束
	
     	 for (AccountEntity accountEntity : a) {
            log.info("第一层循环:{}", accountEntity.getName());
            for (BalanceEntity entity : b) {
                log.info("第二层循环:{}", entity.getType());
                for (MonitorlogEntity monitorlog : c) {
                    log.info("第三层循环:{}", monitorlog.getRunTime());
                }
            }
        }

4、多层直接跳出

//该标识用于多层直接跳出使用
		stop:
        for (AccountEntity accountEntity : a) {
            log.info("第一层循环:{}", accountEntity.getName());
            for (BalanceEntity entity : b) {
                log.info("第二层循环:{}", entity.getType());
                for (MonitorlogEntity monitorlog : c) {
//                    if (monitorlog.getRunTime() == 4L) {
						//多层直接跳出:注意:break仅仅是停止当前层,但是后面加个标识指定就可以跳出任意层次
//                        break stop;
//                    }
                    log.info("第三层循环:{}", monitorlog.getRunTime());
                }
            }
        }
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值