java - java中的break语句有什么作用?

标签 java break

有谁知道 group_skip 是做什么的?

也许这是一个基本的编程,但我已经使用 Java 编程多年并且今天才发现它。

group_skip: do {
    event = stepToNextEvent(FormController.STEP_OVER_GROUP);
    switch (event) {
        case FormEntryController.EVENT_QUESTION:
        case FormEntryController.EVENT_END_OF_FORM:
            break group_skip;
    }
} while (event != FormEntryController.EVENT_END_OF_FORM);

谢谢!

最佳答案

这是一个 labelled loop ,当break group_skip;语句执行时,会跳出标记为group_skip

的do while循环
boolean isTrue = true;
    outer: for (int i = 0; i < 5; i++) {
        while (isTrue) {
            System.out.println("Hello");
            break outer;
        } // end of inner while
        System.out.println("Outer loop"); // does not print
    } // end of outer loop
   System.out.println("Good Bye");

这输出

Hello
Good Bye

你可以在这里弄清楚这个概念。

  • 有一个名为 outer 的带标签的 for 循环,还有一个内部 while 循环
  • 内层for循环在执行时遇到break outer;语句
  • outer for loop 有一个 System.out.println"Outer loop" 语句,但不会打印出来。
  • 这是因为break outer导致控件直接跳出带标签的for循环

现在这个continue语句的例子

outer: for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            System.out.println("Hello");
            continue outer;
        } // end of inner loop
        System.out.println("outer"); // this won't print
    } // end of outer loop
    System.out.println("Good bye");

这打印

Hello
Hello
Hello
Hello
Hello
Good bye
  • 这里有一个带标签的for循环和一个内部for循环
  • 内部for 循环打印Hello 并继续到外部 循环。
  • 因此,内部 for 循环下面的语句被跳过,外部 循环继续执行。
  • outer for 循环的末尾,打印Good Bye

希望这能让一切都清楚。

关于java - java中的break语句有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334917/

相关文章:

javascript - while 循环内的 switch 语句

java - 将值设置为模拟对象但得到 null

Java使对象立即出现

javascript - 组织.openqa.selenium.JavascriptException : SyntaxError: '' string literal contains an unescaped line break while using executeScript through Selenium

VBA:跳出深度嵌套的 If 语句

java - 如果不使用 "return;",如何突破 void 方法

java - 如何使用 @ConversationScoped 处理多个支持 bean?

java - 处理网络波动引起的读取超时

c - 内循环中的break语句如何工作?

java - 为什么 Java 允许在任意语句上标记中断?