帮忙分析一下这个java代码段

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:56:33
public class Li3_14{
public static void main(String [] args){
outer: for(int i=1;i<10;i++){
inner: for(int j=1;j<10;j++)
if(i*j>30) break outer;
System.out.println("i="+i);
}
System.out.println("dfsdfds");

}

}
执行break outer时,i和j的值是多少``
我才学这个 不怎么会

执行该代码结果是:i的值为4,j的值为8
归律是这样的:先固定外部代码块,执行内部循环块,直到内部代码块的循环结束,再递增外部代码块中的i值。第一次时,i值为1,j完成内部循环,不满足i*j>30。第二次,也不满足条件,直到第四次,满足条件,此时i=4,j=8

if(i*j>30) break outer
i j
5*6=30
5*7=35>30

i=5
j=7

标记
outer:
inner:
标记名加冒号.
一般 在多重循环中用到。

break outer; // 跳出”outer:“标记的循环
还有continue 也支持标记...

i=4;
j=8;

4 8
break outer
跳出outer的作用域。