public class continueWithLabel {
 public static void main(String args[]) {
   String searchMe="Look for a substring in me.";
   String substring="sub";
   boolean foundIt=false;
   int max=searchMe.length()-substring.length();
   test:
   for (int i=0;i<=max;i++) {
     int n=substring.length();
     int j=i;
     int k=0;
     while (n--!=0) {
       if (searchMe.charAt(j++)!=substring.charAt(k++)) {
         continue test;
       }
     }
       foundIt=true;
       break test; /*这里为什么要带标识,我不带test标识编译能通过,而且运行结果也是一样的*/
   }
     System.out.println(foundIt?"Found it":"Didn't find it"); 
 }
}
上面的是书上的实例

解决方案 »

  1.   

    就你上面代码而言,break带不带标,效果是一样的。
    带标使代码 清晰。因为在有几层循环时,容易弄混。
      

  2.   

    就你上面代码而言,break带不带标,效果是一样的。但哪个continue test;就不一样了啊。把break test; 放到for里面就不一样了啊
      

  3.   

    啊,这个break test;就是放在for里面的,不是吗?
    我是想问,BREAK回test后,不会造成死循环吗?
      

  4.   

    break xxx:  表示跳出带该标示的循环,不管什么for,while。contiue xxx:表示继续带该标示的循环,continue以下的属于该xxx循环的所有语句不被执行。
      

  5.   

    晕了,不好意思分给光了,SORRY```
    谢谢你啊,sanco