请问哪个高手帮我解释一下代码:
//continuelabel.java
class continuelabel{
public static void main(String args[]){
outer:for(int i=1;i<10;i++){
for(int j=1;j<10;j++){
if (j>i){
System.out.println();
continue outer;}
System.out.print(" "+(i*j));
}
}
System.out.println();
}
}
代码:continue outer不是使循环回到for(int i=1;i<10;i++)...那里了吗?怎么还会执行System.out.print(" "+(i*j));这个不是for(int j=1;j<10;j++)里的吗?
//continuelabel.java
class continuelabel{
public static void main(String args[]){
outer:for(int i=1;i<10;i++){
for(int j=1;j<10;j++){
if (j>i){
System.out.println();
continue outer;}
System.out.print(" "+(i*j));
}
}
System.out.println();
}
}
代码:continue outer不是使循环回到for(int i=1;i<10;i++)...那里了吗?怎么还会执行System.out.print(" "+(i*j));这个不是for(int j=1;j<10;j++)里的吗?
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81举个例子来说:当i=5时,j =1,2,3,4时就不会执行
if (j>i){
System.out.println();
continue outer;
}
而直接执行System.out.print(" "+(i*j));打印出5 10 15 20 25;
当j增加为5时,执行上面的if语句,跳转到outer:除,此时i++,i=6,再接着如此运行……