zoukankan      html  css  js  c++  java
  • JAVA的循环结构进阶

    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+"件衣服");
                            }
                        }

  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/ws1149939228/p/9076210.html
Copyright © 2011-2022 走看看