java中的标签

java中的标签类似于C语言中的goto语句,常与continuebreak进行应用。

continuebreak不同之处在于continue是跳过后面的代码执行下一个循环,而break则是跳出循环。

java中标签不是很常用,如果用到的话需要注意以下几点:

  1. 使用在嵌套循环中,其他的地方可以用,但没有作用;
  2. 嵌套的名称可以不唯一,只要同一个嵌套的循环里面,内外的标签不一样即可。

continue的例子,break的类似:

outer:
    for (int i = 1; i < 10; i++) {
        i = (int) (Math.random() * 15);
        System.out.println(" i " + i);
        for (int j = 0; j < 5; j++) {
            j = (int) (Math.random() * 6);
            System.out.println(" j " + j);
            if (j == 3)
                continue outer;
        }
    }

相同label名称的例子:

    public static void main(String[] args) {

        outer: System.out.println("123");

        outer:
        for (int i = 1; i < 10; i++) {
            i = (int) (Math.random() * 15);
            System.out.println(" i " + i);
            for (int j = 0; j < 5; j++) {
                j = (int) (Math.random() * 6);
                System.out.println(" j " + j);
                if (j == 3)
                    continue outer;
            }
        }
    }

运行结果如下:

123
 i 5
 j 2
 j 5
 i 1
 j 5
 i 14
 j 3

 


版权声明:本文为lwx356481原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。