java基础 ------- 多重循环 and break与continue

Posted 随风而逝.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 扥作用  就是  结束当前方法的执行并退出,返回到调用该方法的地方

 


以上是关于java基础 ------- 多重循环 and break与continue的主要内容,如果未能解决你的问题,请参考以下文章

在Java中,如何跳出当前的多重嵌套循环?

Java 循环语句之多重循环

java之跳出多重循环

Java跳出多重循环

Java中如何跳出多重循环?

Java 中,如何跳出当前的多重嵌套循环,循环标记(for循环,while循环)Java面试题