循环结构进阶

什么是二重循环?

语法
一个循环体内又包含另一个完整的循环结构 
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:继续本层的下一轮循环
原文地址:https://www.cnblogs.com/yun---meng/p/12757351.html