java中标签的使用(附带break和continue)

很多程序设计语言中有goto语句,goto语句的使用,使的程序变得难以读懂,尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子。它并不属于一次跳转,而是中断循环语句的一种方法。之所以把它们纳入goto问题中一起讨论,是由于它们使用了相同的机制:标签。
标签是后面跟有冒号的标识符,就像下面这样:
label1:
需要记住的重点是:在Java中需要使用标签的唯一理由就是因为有循环嵌套的存在,而且想从多层嵌套中break或者continue。

label1://can't have statements here
outer-iteration{
    inner-iteration{
        //...
        break;//(1)
        //...
        continue;//(2)
        //...
        continue label1;//(3)
        //...
        break label1;//(4)
    }
}

(1)break会中断并跳出当前循环,回到外部迭代。
(2)continue会退回到最内层循环的开头(顶部),并且继续执行。
(3)带标签的continue会到达标签的位置,并重新进入紧接在标签后面位置的循环。
(4)带标签的break会中断并跳出标签所指的循环,break label1会回到label1处,但是不重新进入迭代,也就是说,它实际是完全中止了两个迭代。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值