跳转语句的作用就是把控制转移到程序的其他部分. Java 支持 3 种跳转语句: break
continue 和 retrun
8.1 break 语句
1. 为什么需要 break 语句
在介绍 switch 结构时用到过 break 语句. 例如:
- public static void main(String[] args) {
- int i=2;
- switch (i){
- case 1:
- System.out.println("星期一");
- break;
- case 2:
- System.out.println("星期二");
- break;
- }
当代码执行到 break 语句时会立即跳出 switch 结构, 去执行其他语句.
在运动会的 10000 长跑比赛中, 当比赛选手跑到 4000 米时 (环形跑道长度是 400 米)
跑不动了就要退出比赛, 这样的问题要通过 Java 程序来解决, 就可以使用 break 语句来无
条件结束循环体
代码如下:
for(int i=0;i<10000;i=i+400)
break;/ 跑不动了, 退出比赛
2. 什么是 break 语句
break 语句是改变程序控制流的语句用在 while, do- while,for 循环语句中时, 可跳
出循环, 执行循环后面的语句 例如
image.PNG
在循环体中, 当执行语句时, 遇到 break: 程序循环流程会无条件地结束. 一般 break 语句会与条件语句 if if..else 语句一起使用
3. 如何使用 break 语句
break 语句主要有两种使用方式, 一种是无标号的使用, 一种是有标号的使用. 标号即
为标识位置的符号, 可以通过给语句加标号来赋予名称, 然后通过这些名字来引用语句
标号位于它所要命名的语句之前, 每条语句只允许有一个标号, 通常的写法是:
label:statement
下面来详细讲解两种 break 语句的使用
1. 使用无标号的 break
[例 3.12] BreakTest.java
循环录入某学生 5 门课的成绩并计算平均分, 如果某分数录入为负, 则停止录示录入错误. 代码如下
- public static void main(String[] args) {
- double sum=0;
- double score=0;
- boolean wrong=true;
- Scanner input=new Scanner(System.in);
- System.out.println("请输入学生的姓名");
- String name=input.next();
- for (int i=0;i<5;i++){
- System.out.println("请输入 5 们课的成绩");
- score=input.nextInt();
- if(score<0){
- wrong=false;
- System.out.println("您输入的有误");
- break;
- }else {
- sum+=score;
- }
- if(!wrong){
- System.out.println("您输入的有误");
- }else {
- System.out.println("平均值"+sum/5);
- }
- }
上面的示例是对单层循环的应用, 如果是多层循环, 则无标号的 break 会终止最内层的
switch,for, while 或 do 语句, 并且它也只能出现在这些语句中. 如下例所示:
- public static void main(String[] args) {
- for (int i=1;i<10;i++){
- for (int j=1;j<10;j++){
- if(i==j)break;
- System.out.println(j+ "");
- }
- System.out.println(); // 换行
- }
(2) 使用有标号的 break
为了终止外层的循环或块, 需要用标号标示外层的语句, 并在 break 语句中使用它的标
号名. 更改上例的 main, 修改之后的代码如下所示
- flag:
- for (int i=1;i<10;i++){
- for (int j=1;j<10;j++){
- if(i==j)break flag;
- System.out.println(j+ "");
- }
- System.out.println(); // 换行
- }
来源: http://www.jianshu.com/p/b80892d25e49