public class StmtLabels {
  public static void main(String[] args) {
    int count = 0;
    
    // test break label on compound statement
  lab1:
    {
      System.out.println("before lab1");
      if ( count == 0 ) 
{ break lab1; }
      System.out.println("after lab1");
    }    // test break label on an if statement
    System.out.println("before lab1a");
  lab1a:
    if ( count == 0 ) {
break lab1a;
    } else {
System.out.println("else clause; not break to lab1a");
    }
    System.out.println("after lab1a");    // test continue label on compound statement
  lab2:
    {
      System.out.println("before lab2");
      if ( count == 0 ) 
      { continue lab2; }  
      }
    System.out.println("after lab2");
     
  }
}

解决方案 »

  1.   

    你这里用continue是什么意思啊?
    continue不能用在这里,所以会出错。
    只能用在循环中
      

  2.   

    lab2:
            {
                    System.out.println("before lab2");
                    if ( count == 0 ) 
                    {
                            continue lab2; 
                    }  
            System.out.println("after lab2");
            }
    这段代码可以写为:
            while(count==0)
            {
                    System.out.println("before lab2");
            }
            System.out.println("after lab2");
      

  3.   

    continue lab2; 
    到底有什么不妥?
      

  4.   

    continue是停止当前的循环体,直接进入下一次循环。
    eg.
    boolean flag = true;
    while(true){
       System.out.println("I will run forever");//将永远循环输出这一句
       if(flag) continue;
       System.out.println("I will never run");//这句就永远运行不了
    }
    所以,continue没有循环自然不会有作用。
      

  5.   

    像下面的逻辑都是死循环的。实现一个跳转的逻辑以前用GOTO LAB(C语言中),但这样破坏了程序的结构化,不推荐使用(其实用的好还是不错的)。所以现在一般用条件语句或者循环语句替代了。
     
     
      lab2:
            {
                    System.out.println("before lab2");
                    if ( count == 0 ) 
                    {
                            continue lab2; 
                    }  
            System.out.println("after lab2");
            }
    这段代码可以写为:回复人: yayv(yayv) ( ) 信誉:99 
            while(count==0)
            {
                    System.out.println("before lab2");
            }
            System.out.println("after lab2");  
     
    Top 
     
      

  6.   

    continue 在java中可以对程序进行循环。
    continue 在你的程序中会造成死循环。
    老在lab2中循环,没有退出条件,所以有错的。
      

  7.   

    你可以用goto啊!
    我想你就是这个意思吧!
    转向!