java 控制标签_java 使用标签控制循环

java中,我们通常熟悉的是通过break和continue两个关键字来控制程序的走向,当需要程序从一个地方跳到另一个地方时,就需要要通过标签来实现,下面通过一个例子来讲述标签的使用方式。

标签是后面跟着冒号的标识符,就像下面这样:

label:

java中,标签起作用的最好的地方是放在迭代语句之前,在标签和迭代之间置入任何语句都不好。在迭代前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关。

将break和continue与标签一起使用,它们就会中断循环,直到标签所在的地方。

label1:

outer-iteration{

inner-iteration{

break; (1)

continue; (2)

continue label1; (3)

break label; (4)

}

}

在(1)中,break中断内部迭代,回到外部迭代。

在(2)中,continue使执行点移回内部迭代的起始处。

在(3)中,continue label1 同时中断内部迭代以及外部迭代,直接转到label1处,随后,它实际上是继续迭代过程,但是是从外部迭代开始。

在(4)中,break label1 也会中断所有迭代,并回到label1处,但并不重新进入迭代,也就是说,它是完全终止了两个迭代。

public class MainTest {

public static void main(String[] args) {

int i = 0;

outer:

for(;true;){

inner:

for(;i<10;i++){

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

if(i == 2){

System.out.println("continue");

continue ;

}

if(i == 3){

System.out.println("break");

i++;

break ;

}

if(i == 7){

System.out.println("continue outer");

i++;

continue outer;

}

if(i == 8){

System.out.println("break outer");

break outer;

}

for(int k =0; k<5;k++){

if(k==3){

System.out.println("continue inner");

continue inner;

}

}

}

}

}

}

//##########打印输出###########:

i=0

continue inner

i=1

continue inner

i=2

continue

i=3

break

i=4

continue inner

i=5

continue inner

i=6

continue inner

i=7

continue outer

i=8

break outer

注意:

break会中断for循环,而且在抵达for循环的末尾之前,递增表达式不会执行。由于break跳过了递增表达式,所以i==3的情况下直接对i执行递增运算。

在i==7的情况下,continue outer语句会跳到循环顶部,而且也会跳过递增,所以这里也对i直接递增。

下面为带标签的break和continue在while循环中的用法:

public class LabelWhile {

public static void main(String[] args) {

int i = 0;

outer:

while(true){

System.out.println("Outer while loop");

while(true){

i++;

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

if(i==1){

System.out.println("continue");

continue ;

}

if(i == 3){

System.out.println("continue outer");

continue outer;

}

if(i == 5){

System.out.println("break");

break ;

}

if(i==7){

System.out.println("break outer");

break outer;

}

}

}

}

}

//#########打印输出##########

Outer while loop

i=1

continue

i=2

i=3

continue outer

Outer while loop

i=4

i=5

break

Outer while loop

i=6

i=7

break outer

1)一般的continue会退回最内层循环的开头(顶部),并继续执行。

2)带标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环。

3)一般的break会中断并跳出当前循环。

4)带标签的break会中断并跳出标签所指的循环。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值