if (j == 2)
continue outer;//这句话的作用是内循环执行到j==2时跳出内循环
最后输出结果应该是:Value for i = 1 Value for j = 1
Value for i = 2 Value for j = 1
还有你代码有问题,外循环outer的循环体没少了{}作者: 李俊伟 时间: 2012-11-27 21:26
1.首先说明一下“continue;”的功能:continue语句只用在循环中,用来结束本次循环,但不退出循环;
2.分析程序,当i=1时,执行能循环,j=1, System.out.println("Value for i = " + 1+ " Value for j = " +1);
j=2,continue outer;这个位置执行的意思是:结束外部i=1的循环,但不退出循环;i递增1,回到外部循环入口转入下一次循环;
按照以上如此循环,也就得到了如下结果:
Value for i = 1Vale for j = 1
Value for i = 2Vale for j = 1
class Test3
{
public static void main(String[] args)
{
int i,j;
outer: for (i=1;i<3 ;i++ )
{
inner: for (j=1;j<3 ;j++ )
{
if(j==2) continue outer;
System.out.println("Value for i = " + i + " Value for j = " +j);
}
}
}
} 作者: 程宏志 时间: 2012-11-27 22:33
对于你的程序我在上面标示一下:
public class MyClass{
public static void main(String argv[]){
int i;
int j;
outer: for (i = 1; i < 3; i++)
inner: for(j = 1; j < 3; j++) {
if (j == 2)
continue outer; //这里使用continue 表示结束本次循环,进入下次循环 ,你后面跟着是outer表示结束了外层循环,然后再重新循环
System.out.println("Value for i = " + i + " Value for j = " +j);
}
}
}
流程步骤:当i=1:
j=1时,输出的是Value for i = 1 Value for j = 1;
j=2时,结束了内层循环,重新从外层循环开始,
当 i=2时
j=1;这时输出的是 Value for i = 2 Value for j = 1;
j=2时,结束了本次循环
这时返回到外层循环,i的值=3,这时不满足判断条件,结束了整个循环