public class Test {
public static void main(String[] args) {
outer:for(int i=1;i<=5;i++){
System.out.println("i="+i);
inner:for(int j=1;j<=i;j++){
System.out.println("j="+j);
if(j%2==0)
break outer;
}
}
}
}
输出为:
i=1
j=1
i=2
j=1
j=2
为什么i 只循环到第2次呢?
public static void main(String[] args) {
outer:for(int i=1;i<=5;i++){
System.out.println("i="+i);
inner:for(int j=1;j<=i;j++){
System.out.println("j="+j);
if(j%2==0)
break outer;
}
}
}
}
输出为:
i=1
j=1
i=2
j=1
j=2
为什么i 只循环到第2次呢?
此时你的例子:当外层循环至i=2的时候,内层循环就if条件就满足,执行if语句块代码break,由于你指定了break到第一层循环,故而整个双重循环结束。'
如果你将:break outer;改为:break inner; 或break;就是指终止内层循环。外层循环继续。