Java基础之循环嵌套

循环嵌套

在一个循环内部可以嵌套另一个或多个循环。

外部循环每执行1次,内层循环会执行1轮(全部)。

案例1:

连续3天,每天都要表白5次。

package com.briup.chap03;

public class Test03_Nest {
    public static void main(String[] args) {
        for(int i = 1; i <= 3; i++) {
            for(int j = 0; j < 5; j++) {
                System.out.println("I miss you!");
            }

            System.out.println("***************");
        }
    }
}

案例2:

​ 输出以下内容,要求每次只能输出一个 '*'

在这里插入图片描述

public static void main(String[] args) {
    for(int i = 1; i <= 5; i++){
        for(int j = 0; j < i; j++){
            System.out.print("*");
        }

        System.out.println();
    }
}

注意:

  • println方法会自动换行
  • print 方法不会自动换行

案例3:

​ 输出以下内容,要求每次只能输出一个 '*'

在这里插入图片描述

public static void main(String[] args) {
    //line表示要输出的行数
    int line = 5;

    //外层循环控制打印的行数
    for(int i = 1; i <= line; i++){
        //这个循环控制每行打印的空格
        for(int j = 0; j < line - i; j++){
            System.out.print(" ");
        }

        //这个循环控制每行打印的*
        for(int k = 0; k < (2*i-1); k++){
            System.out.print("*");
        }
        //当前行中的空格和*都打印完了,最后输出一个换行
        System.out.println();
    }
}

label关键字

​ 代码中出现多层循环嵌套,label标签配合break关键字,可以使程序从内部循环中跳出。

案例描述:

思考:下面案例中break关键字能跳出外层循环吗?

public static void main(String[] args) {
    for(int i = 0; i < 3; i++) {//外层循环
        for(int j = 0; j < 5; j++) {//内层循环
            if(j == 2){
                break;
            }
        }
    }
}

注意,默认情况下,在嵌套循环中,break和continue只能对当前循环起作用。

如果想让break或continue针对某一个指定的循环起作用,那么可以使用label标签给循环起名字,然后使用break或continue加上label标签名即可。

例如,

package com.briup.chap03;

public class Test04_Label {
    public static void main(String[] args) {
    	//标签名: 循环
        label1: for(int i = 1; i <= 3; i++) {
            label2: for(int j = 0; j < 5; j++) {
                if(j == 2) {
                    //跳出指定的循环
                    // break 标签名
                    break label1;
                    
                    //continue label1;
                }

                System.out.println("I miss you!");
            }

            System.out.println("***************");
        }
    }
}
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值