Java基本语法-循环嵌套

在这里插入图片描述

package cn.itcast.demo;

public class ForForDemo {
    public static void main(String[] args) {
        //需求: 按照班级获取该班级所有的同学(假设一共有3个班级, 每个班级5名同学).
        //原始做法
       /* //获取第一个班级的每一位同学
        for(int i = 1; i <= 5; i++) {
            System.out.println("正在获取第1个班级的第" + i + "名同学");
        }
        System.out.println();  //作用: 换行

        //获取第二个班级的每一位同学
        for(int i = 1; i <= 5; i++) {
            System.out.println("正在获取第2个班级的第" + i + "名同学");
        }
        System.out.println();  //作用: 换行

        //获取第三个班级的每一位同学
        for(int i = 1; i <= 5; i++) {
            System.out.println("正在获取第3个班级的第" + i + "名同学");
        }
        System.out.println();  //作用: 换行*/

       //通过观察上述的代码, 我们发现打印每个班级学生的动作都是重复的, 所以我们可以继续通过循环优化.
        //1. 通过for循环获取每一个班级.
        for (int a = 1; a < 4; a++) {       //外循环, 用来获取每一个班级的.
            //2. 再次通过for循环获取到当前班级中的每一位同学.
            for(int i = 1; i <= 5; i++) {   //内循环, 用来获取当前班级的每一位学生的.
                //3. 直接打印该学生的信息即可.
                System.out.println("正在获取第"+ a +"个班级的第" + i + "名同学");
            }
            System.out.println();  //作用: 换行
        }

    }
}

在这里插入图片描述
在这里插入图片描述

package cn.itcast.demo;

public class BreakDemo2 {
    public static void main(String[] args) {
        /*
            需求: 程序猿同学受邀加入A公司,现按班级查找程序猿同学。
            已知:
                现有3个班级,每班10个同学,
                假设第2个班级的第5位同学名叫程序猿,找到该同学后则停止查找。
        */
        //1. 通过for循环, 获取到每一个班级.
        label_class:for (int i = 1; i < 4; i++) {       //需求: 外循环, 是用来获取到每一个班级的.
            //2. 在班级循环中, 再次通过for循环获取到每一个学生的信息.
            for (int j = 1; j < 11; j++) {  //需求: 内循环, 是用来获取每一个学生的.
                //3. 打印当前学生的信息.
                System.out.println("正在查找第"+ i +"个班级的第"+ j +"个学生");
                //4. 判断当前学生是否是 程序猿同学(第2个班级的第5位同学)
                if(i == 2 && j == 5) {
                    //5. 如果是, 则结束整个循环.
                    System.out.println("哈哈, 找到程序猿同学了, 整个循环结束");
                    break label_class;          //结束指定的循环
                }

            }
            //换行
            System.out.println();
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package cn.itcast.demo;

public class SendOrangeDemo {
    public static void main(String[] args) {
           /*
            需求: 1024程序员节,小黑带你发橙子
            已知条件:
                假设有3个班级,每个班级有35个同学,现在要将100个橙子分别发放给每位同学,每人只能拿一个。
                如果该同学已经有了橙子,则不再发给该同学;如果橙子发完了,则发放活动终止。
                假设编号为5的倍数的同学都已经有了橙子.
         */
         //1. 定义变量, 记录发送的橙子总数.
        int count = 0;
        //2. 通过for循环, 获取到每一个班级.
        A:for (int i = 1; i < 4; i++) {     //外循环, 获取到每一个班级.
            //3. 在班级for中, 在通过for获取到每一个同学.
            for (int j = 1; j < 36; j++) {  //内循环, 获取到每一个同学.
                //4. 判断该学生是否有橙子.
                if(j % 5 == 0) {
                    //5. 如果有, 就不发了.
                    continue ;      //结束本次循环, 进行下一次循环.
                }
                //6. 如果没有, 就给该学生发橙子.
                System.out.println("正在给第"+ i +"个班级的第"+ j +"个同学发橙子");
                //7. 每发送一个橙子, 计数器都要+1.
                count++;
                //8. 如果橙子发完了, 结束发放活动.
                if (count >= 100) {
                    break A;
                }
            }
        }
        //9. 打印发送的橙子数量.
        System.out.println("总共发送了" + count + "个橙子");
    }
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

那肯定是很多年以后!

你的鼓励就我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值