java基础 ------- 多重循环 and break与continue
----- 什么是多重循环
---- 打印数列
1 public class ForEx { 2 public static void main(String[] args){ 3 for(int i = 100; 4 i >= 5; 5 i=i-5){ 6 System.out.print(i+" "); 7 } 8 9 /* int i = 100; 10 while(i>=5){ 11 // System.out.print(i+" "); 12 i-=5; 13 }*/ 14 // int i = 100; 15 // do{ 16 // System.out.print(i+" "); 17 // i-=5; 18 // }while(i>=5); 19 } 20 }
--- 使用 for 循环打印九九乘法表
1 /* 2 * 打印9*9乘法表 3 */ 4 public class Multiplication { 5 6 public static void main(String[] args) { 7 int i, j; // 循环变量 8 for (i = 1; i <= 9; i++){ // 外层循环控制被乘数 9 for (j = 1; j <= i; j++){ // 内层循环控制乘数 10 System.out.print(i+"*"+j+"="+(i*j)+"\t"); 11 } 12 System.out.println(); // 打印一行后换行 13 } 14 } 15 }
---------- break语句的使用
我们之前在使用switch语句的时候使用break语句进行跳出switch语句的操作,现在也是用于跳出循环
---- 输出星期数
1 import java.util.*; 2 public class ShowDate { 3 public static void main(String[] args){ 4 //定义变量 5 int inputNum = -1; //记录用户输入 6 Scanner input = new Scanner(System.in); 7 String date = ""; //记录星期几 8 //循环询问用户输入的数字 9 do{ 10 //询问用户输入的数字: 11 System.out.print("请输入数字(1~7),输入0结束:"); 12 inputNum = input.nextInt(); 13 //分支:根据用户输入的内容,显示相应星期几 14 switch(inputNum){ 15 case 1: 16 //System.out.println("星期一"); 17 date = "星期一"; 18 break; 19 case 2: 20 //System.out.println("星期二"); 21 date = "星期二"; 22 break; 23 case 3: 24 System.out.println("星期三"); 25 date = "星期三"; 26 break; 27 case 4: 28 //System.out.println("星期四"); 29 date = "星期四"; 30 break; 31 case 5: 32 //System.out.println("星期五"); 33 date = "星期五"; 34 break; 35 case 6: 36 //System.out.println("星期六"); 37 date = "星期六"; 38 break; 39 case 7: 40 //System.out.println("星期日"); 41 date = "星期日"; 42 break; 43 case 0: 44 break; 45 default: 46 System.out.println("您的输入有误!"); 47 break; 48 } 49 if(inputNum>=1 && inputNum<=7){ 50 System.out.println(date); 51 } 52 53 }while(inputNum != 0); 54 System.out.println("程序结束!"); 55 } 56 }
-- 再来一个
1 import java.util.Scanner; 2 3 public class BreakDemo { 4 /** 5 * 循环录入学生成绩,输入负数则退出 6 */ 7 public static void main(String[] args) { 8 int score; //每门课的成绩 9 int sum = 0; //成绩之和 10 int avg; //平均分 11 boolean isNegative = false; //是否为负数 12 Scanner input = new Scanner(System.in); 13 System.out.print("输入学生姓名: "); 14 String name = input.next(); //输入姓名 15 for(int i = 0; i < 5; i++){ //循环5次录入5门课成绩 16 System.out.print("请输入第" + (i+1) + "门课的成绩: "); 17 score = input.nextInt(); 18 if(score < 0){ //输入负数 19 isNegative = true; 20 break; 21 } 22 sum = sum + score; //累加求和 23 } 24 if(isNegative){ 25 System.out.println("抱歉,分数录入错误,请重新进行录入!"); 26 }else{ 27 avg = sum / 5; //计算平均分 28 System.out.println(name + "的平均分是:" + avg); 29 } 30 } 31 }
------ continue语句
1 import java.util.Scanner; 2 public class ContinueDemo { 3 /** 4 * 统计80分以上学生比例 5 */ 6 public static void main(String[] args) { 7 int score; // 成绩 8 int total; // 班级总人数 9 int num = 0; // 成绩大于或等于80分的人数 10 Scanner input = new Scanner(System.in); 11 System.out.print("输入班级总人数: "); 12 total = input.nextInt(); // 输入班级总数 13 for (int i = 0; i < total; i++) { 14 System.out.print("请输入第" + (i + 1) + "位学生的成绩: "); 15 score = input.nextInt(); 16 if (score < 80) { 17 continue; 18 } 19 num++; 20 } 21 System.out.println("80分以上的学生人数是: " + num); 22 double rate = (double) num / total * 100; 23 System.out.println("80分以上的学生所占的比例为:" + rate + "%"); 24 } 25 }
总结
对比break和continue
1、 使用的场合
break常用于switch结构和循环中
continue一般用于循环结构中
2、作用(循环结构中)
break语句终止某个循环,程序跳出这个循环块执行下一条语句
continue跳出本次循环进入下一次循环
双重循环中也是这样
对于: return 扥作用 就是 结束当前方法的执行并退出,返回到调用该方法的地方