日期:2014-05-19  浏览次数:20679 次

java 带标签break、continue
//本人初学java,以下是自己对带标签break、continue的理解,不知是否正确,望各位大侠纠正
1. Java中带标签的break和continue
首先了解java中标签出现的位置,java标签只能出现在代码块前(如{}),不能出现在语句前。通常标签用于循环语句块前(for、do-while、while)。如下代码:
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 0; i < 3; ++i){
b:{
c:{
System.out.print(i);
if(2 == i)
break b;
}
System.out.print (i);
}
}
}
//输出00112
break label;表示跳出label指定的代码块,并从该块后第一条语句开始执行。
continue label;表示跳出到label指定代码块,并从该块开始执行(这对于for循环时,它会首先执行for中的迭代部分——循环变量变化部分)。
不带标签的break、continue与C/C++一致。


------解决方案--------------------
break label;表示跳出label指定的代码块,并从该块后第一条语句开始执行。 正确
continue label;好像label只能修饰循环体。continue的意思就是跳过循环体下面语句继续执行循环体。
Java code

package Test;
public class Test {
    public static void main(String args[]) {
        a: for (int i = 0; i < 3; ++i) {
            b: {
                c:{
                    System.out.print(i);
                    if (2 == i)
                    continue a;
                }
                System.out.print(i);
            }
        }
    }
}