java - switch 语句中的 break 会终止 for 循环吗?

标签 java loops for-loop switch-statement break

我正在尝试理解 return、break 和 continue。 我知道 break 会停止(内部)for 循环。例如:

for (int i = 1; i <= 3; i++) {
            // inner loop
            for (int j = 1; j <= 3; j++) {
                if (i == 2 && j == 2) {
                    // using break statement inside the inner loop
                    break;
                }
                System.out.println(i + " " + j);
            }
        }

我知道外层循环会继续。

我不明白的是这里:

for (int i = 0; i < 3; i++) {
            String line = null;
            switch (a) { 
                case 0:
                    line = "Hello";
                    break;
                case 1:
                    line = "How are you?";
                    break;
                case 2:
                    line = "What are you doing?";
                    break;

所以它转到情况 0 然后 break 并且 for 循环继续,为什么?我认为它会打破循环,因为它没有嵌套。 还是因为 switch 语句 - 它不同于 if 语句?

在这种情况下,它将终止整个 while 循环...我看不出有什么不同。

while(winner == false){

                input = menuInput.nextInt();

                try {
                    if(input == 0 || input >= 9){
                        System.out.println("Ungültige Nummer, versuche nochmal!");
                        break; 
                    }

最佳答案

您可以中断一个开关。您不能破坏 ifbreak 应用于最接近的可以被breaked 的语句,所以

for (int j = 1; j <= 3; j++) {
    if (i == 2 && j == 2) {
        // using break statement inside the inner loop
         break;
    }
    System.out.println(i + " " + j);
}

这里的break指的是for

在这里:

for (int i = 0; i < 3; i++) {
    String line = null;
    switch (a) { 
        case 0:
            line = "Hello";
            break;

它指的是开关

可以break的语句是for, while, do...while, 切换

更多信息,您可以查看the spec .

关于java - switch 语句中的 break 会终止 for 循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60042376/

相关文章:

python - 如何修复打印语句,使其在一行而不是两行?

java - 将我的应用程序连接到 SQLite 数据库 - 如何?

java - 使用 Java 启动进程

jquery - 用于连接选择器 jquery 的 for 循环

java - 为什么我的输出顺序看似随机( ActionScript 3.0)?

r - 导入文件夹中的所有txt文件,连接到数据框中,在R中使用文件名作为变量?

java - 什么可以放在 Java for 循环的括号中?

java - 如何从 akka actor 抛出异常?

c - 如何添加设置数量的消息

loops - "dotimes"和 "for"功能之间交叉吗?