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");
}
}
上面的是书上的实例
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");
}
}
上面的是书上的实例
带标使代码 清晰。因为在有几层循环时,容易弄混。
我是想问,BREAK回test后,不会造成死循环吗?
谢谢你啊,sanco