错误:未定义标签,如何在java中使用此代码中的标签语句?

2024-02-14

我在Java教科书中读到任何语句都可以被标记并且可以与break一起使用。 但是在尝试此代码时,我收到错误未定义标签。 (stackoverflow 的伙计们在将这个问题标记为重复之前先等待,我已经检查了这些问题,但没有一个解释这个问题)。

public class LabelTest {

    public static void main(String[] args) {

        first: System.out.println("First statement");
        for (int i = 0; i < 2; i++) {
            System.out.println("Second statement");
            break first;
        }
    }
}

As per JLS 14.7 http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.7

带标签语句的标签范围是立即 包含声明。

所以在你的情况下,标签的范围first is the sysout标签后面的声明。为了更清楚,您可以使用定义范围大括号,并且在这些大括号内其有效跳转到标签。所以下面是有效的

first: {
        System.out.println("First statement");
        for (int i = 0; i < 2; i++) {
            System.out.println("Second statement");
            break first;
        }
    }

OR

first: {
    System.out.println("First statement");
    break first;
}
second:
for(int i=0;i<2;i++){
    System.out.println("Second statement");
    break second;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:未定义标签,如何在java中使用此代码中的标签语句? 的相关文章

随机推荐