学科分类
目录
Java基础

跳转语句(break和continue)

跳转语句用于实现循环语句执行过程中程序流程的跳转,在Java中的跳转语句有break语句和continue语句。接下来分别对这两个语句进行详细地讲解。

1.break语句

在switch条件语句和循环结构语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构;当它出现在循环结构语句中时,作用是跳出当前循环结构语句,执行后面的代码。接下来将对文件2-11稍作修改,来演示while循环中break语句的用法,修改后的代码如文件1所示。

文件1 Example15.java

 1    public class Example15 {
 2        public static void main(String[] args) {
 3            int x = 1;         // 定义变量x,初始值为1
 4            while (x <= 4) {  // 判断循环条件是否成立
 5                System.out.println("x = " + x); // 条件成立,打印x的值
 6                if (x == 3) {
 7                    break;    //使用break语句,当x==3时跳出while循环
 8                }
 9                x++;           // 控制变量x,进行自增
 10            }
 11        }
 12    }

运行结果如图1所示。

图1 运行结果

从图1可以看出,当x的值为3时就会执行break语句,从而跳出整个循环,因此打印结果中并没有出现“x = 4”。

循环结构中的break语句默认只会跳出当前所在循环,在嵌套循环结构中,如果想要在内层循环中使用break语句跳出外层循环,则需要预先对外层循环进行标记,然后使用break语句跳出指定的外层循环。接下来对文件2-14稍作修改,控制程序打印“二二乘法表”,如文件2所示。

文件2 Example16.java

 1    public class Example16 {
 2        public static void main(String[] args) {
 3            // 外层循环,变量i控制输出1~9行
 4            outer: for (int i = 1; i <= 9; i++) {
 5                // 内层循环,变量j控制输出1~9列
 6                for (int j = 1; j <= i; j++) {
 7                    if (i >= 3) {
 8                        break outer;  // 当循环打印第3行时,直接跳出outer外层循环
 9                    }
 10                    // 使用字符串拼接的形式,打印每个内层循环的执行语句
 11                    System.out.print(j + "*" + i + "=" + j * i + "\t");
 12                }
 13                // 使用println()方法控制外层循环进行换行
 14                System.out.println("");
 15            }
 16        }
 17    }

运行结果如图2所示。

图2 运行结果

从图2可以看出,修改后的程序打印了2行结果,只输出了“二二乘法表”。因为文件2-16中,在外层for循环前面增加了标记“outer”,当i>=3时,使用break outer;语句会跳出指定的外层循环,因此程序只打印了2行结果。

2.continue语句

continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。接下来通过一个对1~100之内奇数求和的案例来演示continue语句的使用,如文件3所示。

文件3 Example17.java

 1    public class Example17 {
 2        public static void main(String[] args) {
 3            int sum = 0;             // 定义变量sum,用于记住和
 4            for (int i = 1; i <= 100; i++) {
 5                if (i % 2 == 0) { // i是一个偶数,不累加
 6                    continue;      // 结束本次循环,进入下一次循环
 7                }
 8                sum += i;          // 实现sum和i的累加
 9            }
 10            System.out.println("sum = " + sum);
 11        }
 12    }

运行结果如图3所示。

图3 运行结果

文件3中,使用for循环让变量i的值在1~100之间循环遍历,在循环过程中,使用i%2对变量i的值进行基偶数判断,当i的值为偶数时,将执行continue语句结束本次循环,进入下一次循环;当i的值为奇数时,sum和i进行累加,最终得到1~100之间所有奇数的和,打印“sum = 2500”。

在嵌套循环语句中,continue语句后面也可以通过使用标记的方式结束本次外层循环,用法与break语句相似,在此不再举例说明。

点击此处
隐藏目录