五分钟教会你Java循环中标签的作用

以前不知道在循环中可以使用标签。最近遇到后,举得还是有其独特的用处的。我这么说的意思是说标签在循环中可以改变循环执行的流程。而这种改变不是我们以前单独使用break或者是continue能够达到的。下面还是看看实例吧。

outer1:  
for(int i =0;i<4;i++){  
    System.out.println("begin to itrate.    "+i);  
    for(int j =0;j<2;j++){  
        if(i==2){  
            continue outer1;  
//          break;  
        }  
        System.out.println("now the value of j is:"+j);  
    }  
    System.out.println("******************");  
} //加入Java开发交流君样:756584822一起吹水聊天 

执行的结果是:

begin to itrate.    0 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    1 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    2 
begin to itrate.    3 
now the value of j is:0 
now the value of j is:1 
****************** 

注:当i=2的时候,continue outer1使程序回到了outer1最开始循环的位置,开始下一次循环,这个时候执行的循环是i=3而不是重新从i=0开始。同时当使用continue outer1跳出内层循环的时候,外层循环后面的语句也不会执行。也就是是在begin to itrate. 2后面不会出现一串*号了。
对比:

outer1:  
for(int i =0;i<4;i++){  
    System.out.println("begin to itrate.    "+i);  
    for(int j =0;j<2;j++){  
        if(i==2){  
//          continue outer1;  
            break;  
        }  
        System.out.println("now the value of j is:"+j);  
    }  
    System.out.println("******************");  
}  
//加入Java开发交流君样:756584822一起吹水聊天

注:我们直接使用break的话,只是直接跳出内层循环。结果其实就可以看出区别来:

begin to itrate.    0 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    1 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    2 
****************** 
begin to itrate.    3 
now the value of j is:0 
now the value of j is:1 
****************** 
//加入Java开发交流君样:756584822一起吹水聊天

-----------------------------------------------------------------分割线
我们再来看看break+标签的效果


outer2:  
for(int i =0;i<4;i++){  
    System.out.println("begin to itrate.    "+i);  
    for(int j =0;j<2;j++){  
        if(i==2){  
            break outer2;  
//          break;  
        }  
        System.out.println("now the value of j is:"+j);  
    }           System.out.println("******************");  
}  //加入Java开发交流君样:756584822一起吹水聊天

结果:

begin to itrate.    0 
now the value of j is:0 
now the value of j is:1 
****************** //加入Java开发交流君样:756584822一起吹水聊天
begin to itrate.    1 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    2 

注:从结果就可以看出当i=2的时候,break+标签 直接把内外层循环一起停掉了。而如果我们单独使用break的话就起不了这种效果,那样只是跳出内层循环而已。
最后说一句,Java中的标签只适合与嵌套循环中使用。

image

最新2020整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君样:756584822

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值