JAVA中 Break和Continue的区别

break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行。

continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环。例如:

for(int i = 1; i < 10; i++) {

 if(i == 5)

     break;

System.ut.println("i = " + i);

}

这段程序会显示i = 1到4,因为当 i 等于5时就会执行break而离开循环。再看下面这个程序:

for(int i = 1; i < 10; i++) {

 if(i == 5)

     continue;

 System.out.println("i = " + i);

}

这段程序会显示1到4,与6到9。当 i 等于5时,会执行continue直接结束此次循环,这次循环中System.out.println()行并没有被执行,然后从程序块开头执行下一次循环,所以5并没有被显示。

break与continue还可以配合标签使用,例如本来break只会离开for循环,设定标签与程序块,则可以离开整个程序块。范例3.33是一个简单的示范。

范例 BreakTest.java

public class BreakTest {

public static void main(String[] args) {

    back : {

        for(int i = 0; i < 10; i++) {

            if(i == 9) {

                System.out.println("break");

                 break back;

            }

        }

        System.out.println("test");

    }

}

}

程序的执行结果会显示break;back是个标签,当break back;时,返回至back标签处,之后整个back程序块不执行而跳过,所以这个程序System.out.println(“test”);不会被执行。

事实上continue也有类似的用法,只不过标签只能设定在for之前。范例3.34是一个简单的示范。

范例 ContinueTest.java

public class ContinueTest {

public static void main(String[] args) {

    back1:

    for(int i = 0; i < 10; i++){

        back2:

        for(int j = 0; j < 10; j++) {

            if(j == 9) {

                continue back1;

            }

        }

        System.out.println("test");

    }

}

}

continue配合标签,可以自由地跳至任何一层for循环,您可以试试continue back1与continue back2的不同。设定back1时,System.out.println(“test”);不会被执行。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值