发布日期:2013-03-06 13:58 来源:未知 标签: Java 标签
 

在java中标签作用的地方时在迭代语句之前。在标签和迭代之前置入任何语句都是不好的。而在迭代之前设置标签的唯一理由是:我们希望潜逃另一个迭代或者一个开关。这是由于break和continue关键词通常只中断当前循环,但若随标签一起使用,他们就会中断循环,知道标签所在的地方:

标签的语法

label1:

label1:

outer-iteration{

       inner-iteration{

       //….

       break;//(1)

       //…..

       continue;//(2)

       //…..

       break label1;//(3)

       //…..

       continue label1;//(4)

       在(1)中break会中断内层循环回到外部循环,在(2)中continue回结束内层循环的本次循环回到内部循环的起始点。在(3)中,break lable1中因为break后面加了label1所以会直接中断所有循环回到标签处,但不重新进入循环,也就是说直接终止了两个循环,而(4)中continue label1则会直接中断内部与外部循环回到标签处,随后继续循环,但是从外部循环开始。

public class labeledFor{

       public static void main(String [] args){

              int i = 0;

              outer:

              for(;;){

                     inner:

                     for(;i<10;i++){

              System.out.print(“i=”+i);

              if(i == 2){

                     System.out.print(“continue”);

                     continue;

              }

              if(i == 3){

                     System.out.print(“break”);

i++;

                     break;

              }

              if(i == 7){

                     System.out.print(“continue outer”);

                     i++;

continue outer;

              }

              if(i == 8){

                     System.out.print(“breaj outer”);

                     break outer;

              }

              for(int k=0;k < 5;k++){

                     if(k==3){

                            System.out.print(“continue inner”);

                            continue inner;

}

}

}

}

}

}

输出

i=0

continue inner

i=1

continue inner

i=2

continue

i=3

break

i=4

continue inner

i=5

continue inner

i=6

continue inner

i=7

continue outer

i=8

break outer

break会中断for循环,而且在抵达for循环末尾时,递增表达式不会执行,由于break跳过了递增表达,所以在i==3的情况下直接对i执行递增运算。在i==7的情况下,continue outer语句也会跳到循环顶部,而且也跳过递增。所以这里也对i进行了直接递增

如果没有break outer,就无法直接同时终止2个循环,如果想在终止循环的同时退出,可以使用return关键字。

 

相关评论

专题信息
    本教程的主要讲解java语言的核心基础知识,使读者能有个良好的语言基础,为以后进一步提高打下基础。宗旨是帮助更多想学习java的朋友快速入门,如果你是一个Java语言的初学者,那么就从Java教程,java数组,java环境变量配置,java网络编程,技巧等这里开始学习Java吧!