retry关键字
看源码的时候看到retry关键字,百度了一下,然后自己写了几个demo。
retry和continue组合
int count = 0;
retry: for (int i=0;;i++) {
for (int j=0;;j++) {
System.out.println("before i:"+i+" j:"+j);
System.out.println("count:" + (count++));
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (count == 5) {
System.out.println("已经大于5了");
continue retry;
}
System.out.println("after i:"+i+" j:"+j);
}
}
运行结果:
总结:retry和continue组合使用时,执行到continue时将推出当前for循环,执行for循环后的代码。
retry和break语句组合使用。
int count = 0;
retry: for (int i=0;;i++) {
for (int j=0;;j++) {
System.out.println("before i:"+i+" j:"+j);
System.out.println("count:" + (count++));
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (count == 5) {
System.out.println("已经大于5了");
break retry;
}
System.out.println("after i:"+i+" j:"+j);
}
}
执行结果:
总结:retry和break组合使用,执行到break时将会推出当前for循环和外层for循环,只会退出两层循环,也就是说如果有三层for循环,只会推出到第一层的循环中。