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

    什么是二重循环?

    语法
    一个循环体内又包含另一个完整的循环结构 
    while(循环条件1) {           //外层循环             do {
         //循环操作1                                     //循环操作1
         while(循环条件2) {     //内层循环                 do { 
              //循环操作2                                  //循环操作2
         }                                              }while(循环条件1); 
    }                                                }while(循环条件2);
    
    for(循环条件1) {                                     while(循环条件1) {
         //循环操作1                                        //循环操作1
         for(循环条件2) {                                    for(循环条件2) {
              //循环操作2                                       //循环操作2
         }                                                  }  
    }                                                   }  
    
    外层循环变量变化一次,内层循环变量要变化一遍
    
    示例1:
    for(int i = 0; i <classNum; i++){
    	sum = 0.0;			 			
    	System.out.println("请输入第" + (i+1) + "个班级的成绩");
    	for(int j = 0; j < score.length; j++){ 
    		System.out.print("第" + (j+1) + "个学员的成绩:");
    		score[j] = input.nextInt();
    		sum = sum + score[j];	
    	}
    	 aver [i] = sum / score.length;	        //计算平均分
    	 System.out.println("第"+(i+1)+"个班级平均分" + aver [i] + "
    ");
    }	
    
    示例2:
    public class Rectangle {
        public static void main(String[] args) {
            System.out.println("打印矩形");
            for(int i = 1; i <= 5; i++){  	//打印第i行
                for(int j = 1; j <= 5; j++){	//打印5个*号
                    System.out.print("*");
                }
                System.out.print("
    ");		//换行
            }
        }
    }
    

    二重循环中使用continue

    问题:若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于85分学员数 
    
    示例:
     for(int i = 0; i < classnum; i++){
    		//…		
    		for(int j = 0; j < score.length; j++){
    		     //…
    		     if(score[j] < 85) {	
    		          continue;
    		      }
    	          count++;
    		}
    		//…
    	}
    
    执行continue,进入本层循环的下一轮循环,不再执行count++
    

    内循环中的break可以终止二重循环的执行吗?

    问题:有5家衣服专卖店,每家最多购买3件。用户可以选择离开,可以买衣服最后打印总共买了几件衣服 
    
    示例:
    for(int i = 0; i < 5; i++){
    	System.out.println("欢迎光临第" + (i+1) + "家专卖店");
    	for(int j = 0; j < 3; j++){
    		System.out.println("要离开吗(y/n)?");
    		choice = input.nextLine();
    		if("y".equals(choice)){    
    		     break;	
    		}
    		System.out.println("买了一件衣服");
    		count++;    //计数器加1
    	}
           //……
    }
    

    二重循环中continue和break对比

    for(…){
       
          for(…) {
               //……
               continue;
               //……
          }
          //……
    }
    继续本层下一轮循环 --- continue
    for(…){
       
          for(…) {
               //……
               break;
               //……
          }
          //……
    }
    跳出本层循环 --- break
    总结:
    二重循环是一个循环体内又包含另一个完整的循环结构
    在二重循环中,外层循环变量变化一次,内层循环变量要从初始值到结束值变化一遍
    在二重循环中可以使用break、continue语句控制程序的执行
        break:跳出本层循环
        continue:继续本层的下一轮循环
    
  • 相关阅读:
    typescript
    pyqt5窗口跳转
    pyqt5 列表内添加按钮
    C#窗体最大化,其他控件调整
    C#禁止程序重复打开
    C#添加 mysql.data.dll
    宝塔一键ssl
    宝塔Linux面板 使用阿里云OSS备份数据
    CentOS7使用firewalld打开关闭防火墙与端口
    使用babel编译es6
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12757351.html
Copyright © 2011-2022 走看看