使用continue结束本次循环


 

4.4.2 使用continue结束本次循环

continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全终止循环。可以理解为continue的作用是略过当次循环中剩下的语句,重新开始新的循环。例如如下程序示范了continue的用法:

程序清单:codes/04/4-4/TestContinue.java
public class TestContinue
{
public static void main(String[] args) 
{
//一个简单的for循环
for (int i = 0; i < 3 ; i++ )
{
System.out.println("i的值是" + i);
if (i == 1)
{
//略过本次循环的剩下语句
continue;
}
System.out.println("continue后的输出语句");
}
}
}

运行上面程序,看到如下运行结果:

i的值是0
continue后的输出语句
i的值是1
i的值是2
continue后的输出语句

从上面运行结果来看,当i等于1时,程序没有输出“continue后的输出语句”字符串,因为程序执行到continue时,忽略了当次循环中continue语句后的代码。从这个意义上来看,如果把一个continue语句放在单次循环的最后一行,这个continue语句是没有任何意义的——因为它仅仅忽略了一片空白,没有忽略任何程序语句。

与break类似的,continue也可以紧跟一个标签,用于直接结束标签所标识循环的当次循环,重新开始下一次循环。例如下面代码:

程序清单:codes/04/4-4/TestContinue2.java
public class TestContinue2
{
public static void main(String[] args) 
{
//外层循环
outer:
for (int i = 0 ; i < 5 ; i++ )
{
//内层循环
for (int j = 0; j < 3 ; j++ )
{
System.out.println("i的值为:" + i + "  j的值为:" + j);
if (j == 1)
{
//跳出outer标签所指定的循环。
continue outer;
}
}
}
}
}

运行上面程序可以看到,循环变量的值将无法超过1,因为每当j等于1时候,continue outer语句就结束了外层循环的当次循环,直接开始下一次循环,内层循环没有机会执行完成。

与break类似的,continue后的标签也必须是一个有效标签,即这个标签通常应该放在continue所在循环的外层循环之前定义。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值