二重循环

1.什么是二重循环:
      一个循环体内又包含另一个完整的循环结构
     语法:
       while(循环条件1) {
            //循环操作1
            while(循环条件2) {
                 //循环操作2
            }
       }

       do {
           //循环操作1
           do {
               //循环操作2
           }while(循环条件1);
       }while(循环条件2);

       for(循环条件1) {
            //循环操作1
            for(循环条件2) {
                 //循环操作2
            }
       }

       while(循环条件1) {
             //循环操作1
             for(循环条件2) {

   //循环操作2
          }
       }
       ※各种循环可以相互嵌套
 2.二重循环执行顺序:
      外层循环执行1次内层循环执行1周

     案例:
      若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?
      public class Demo02 {
       public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        
        
        //二重循环
        
        /**
         *
         * 外层循环执行一次,内层循环执行1周
         *
         */
        for (int i = 1; i <=3; i++) {
         System.out.println("*************************************");
         System.out.println("请输入第"+i+"个班级4位学员的成绩:");
         int [] scores=new int[4];  //学员成绩数组
         double sum=0.0;  //计算总和
         for (int j = 0; j <scores.length; j++) {
          System.out.println("请输入第"+(j+1)+"位学员的成绩:");
          scores[j]=input.nextInt();
          sum=sum+scores[j];
         }
         System.out.println("第"+i+"个班级的平均分为:"+sum/scores.length);
        }
       }
      }
     案例:打印矩形
       public class Demo03 {
        public static void main(String[] args) {
         //外层循环控制行数
         for (int i = 1; i <=5; i++) {
          //内层循环控制个数
          for (int j = 1; j <=5; j++) {
           System.out.print("*");
          }
          System.out.println();
         }
        }
       }
 3.在二重循环中使用 continue:使用continue代表结束当前循环,继续下一次循环

   案例:若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于85分学员数
     public class Demo04 {
      public static void main(String[] args) {
       Scanner input=new Scanner(System.in);
       
       //二重循环
       
       /**
        *
        * 外层循环执行一次,内层循环执行1周
        *
        */
       
       int count=0;  //存储大于85分的人数
       for (int i = 1; i <=3; i++) {
        System.out.println("*************************************");
        System.out.println("请输入第"+i+"个班级4位学员的成绩:");
        int [] scores=new int[4];  //学员成绩数组
        double sum=0.0;  //计算总和
        for (int j = 0; j <scores.length; j++) {
         System.out.println("请输入第"+(j+1)+"位学员的成绩:");
         scores[j]=input.nextInt();
         sum=sum+scores[j];
         if(scores[j]<85){
          //结束本次循环,进入下一次循环
          continue;
         }
         count++;
        }
        System.out.println("第"+i+"个班级的平均分为:"+sum/scores.length);
       }
       System.out.println("分数大于85的人数:"+count);
      }
      

     }
 4.在二重循环中使用 break:使用break代表结束(跳出)当前循环

   案例:有5家衣服专卖店,每家最多购买3件。用户可以选择离开,可以买衣服 最后打印总共买了几件衣服

     public class Demo05 {
      public static void main(String[] args) {
       Scanner input=new Scanner(System.in);
       int count=0;
       //外层循环控制5家店
       for (int i = 1; i <=5; i++) {
        System.out.println("欢迎光临第"+i+"家店");
        //内层循环控制最多买3件衣服
        for (int j = 1; j <=3; j++) {
         System.out.println("是否离开(y/n)");
         char chois=input.next().charAt(0);
         if(chois=='y'){
          //如果输入Y代表离开
          break;
         }
         System.out.println("买了一件衣服");
         count++;
        }
       }
       System.out.println("共买了"+count+"件衣服");
      }
     }

原文地址:https://www.cnblogs.com/szhhhh/p/9080955.html