Java break 与 continue 语句

循环的内部也是需要控制的, 比如有些条件下要打断(break)循环, 而另外一些情况下要跳过(continue)本次循环接下来的操作, 进入下一次循环, Java 提供的 break 和 continue 就是完成这样操作的语句.

Java 的 break 语句

break 其实我们之前也见过, 在switch中用于结束 case , 同时 break 也可以用于终结整个循环, 示例代码如下:

class Yi21Runner {
    public static void main(String[] args) {
        String[] languages = {"英语", "俄语", "中文", "法语", "西班牙语", "日语"};
        String target = "中文";
        boolean findIt = false;
        for (String language: languages) {
            System.out.println("当前语言: " + language);
            if (language.equals(target)) {
                findIt = true;
                break;
            }
        }
        if (findIt) {
            System.out.println("我们找到了: " + target);
        } else {
            System.out.println("未能找到: " + target);
        }
    }
}

上述代码中, 我们迭代输出了 languages 的每个元素, 用来在其中查找是否有我想想要找到的目标 中文.

如果找到了就表示变量 findIt 为 true, 同时终结循环. 其执行结果如下:

当前语言: 英语
当前语言: 俄语
当前语言: 中文
我们找到了: 中文

这说明到 循环迭代到"中文"的时候, 循环就中止了.

您也可以, 试着将 target 改成 韩文, 看一下执行结果.

Java 的 continue 语句

continue 用于跳过当前迭代, 进入循环的下一次迭代, 示例代码如下:

class Yi21Runner {
    public static void main(String[] args) {
        String[] languages = {"英语", "中文", "法语", "俄语"};
        String target = "法语";
        for (String language: languages) {
            if (language.equals(target)) {
                continue;
            }
            System.out.println("我会 " + language);
        }
    }
}

在上述代码中, target 是我们不会的语言 法语, 通过迭代中的判断, 如果 language 是法语, 就跳过当前迭代, 也就不会输出 我会 法语. 因此上述代码的结果是:

我会 英语
我会 中文
我会 俄语

四种语言中, 唯独不会法语, 在数组中俄语在法语的后面, 我们可以看出, 当使用 continue 语句的时候, 后面的迭代是仍然有效的.

好了, 以上就是 Java break 与 continue 语句的全部内容了.

学会了Java的各种条件控制语句之后, 我们接下来要学习一种特殊的控制语句/方式了, 请看: Java 的异常与处理