java中loop只是continue和break的标记。可以在多层嵌套循环中,跳出到指定层。否则只能跳出当前循环。(java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则可以跳出该指定循环(指定循环一般为循环嵌套的外循环)。但是sonar给出的建议尽量不要这样使用,说不符合通适规范,并给出了规范的建议。不过有些情况下规范化的写法实现起来判断条件就略显复杂)
具体用法可见以下代码:
public class LoopTest { public static void main(String[] args) { int i=0; int j=3; loop:do{ System.out.println("loop i"+i); i++; loop1:for(int m=0;m<j;m++){ System.out.println("loop m"+m); break loop1; } }while(i<3); } }
public class LoopTest { public static void main(String[] args) { int i=0; int j=3; loop:do{ System.out.println("loop i"+i); i++; loop1:for(int m=0;m<j;m++){ System.out.println("loop m"+m); break loop; } }while(i<3); } }