循环体break、continue的另类语法

研究ThreadPoolExecutor源码中发现,addWorker方法有一个retry:的写法,第一次见,所以鼓捣了一下。
retry并非关键字,这里类似goto语法中的标记位置。

这里主要是为了跳出多层循环使用的,单层循环break和continue本身就可以实现。多层循环就需要在跳出的循环体之前做上标记flag:,然后内层循环跳出用break flag;或者continue flag即可。
注意:这种写法==必须写在循环体上面。紧挨着!==中间不允许穿插任何其他代码。
举个例子:

flag1:                                                                      
for(int i=0;i<10;i++)   
{
	System.out.println("外部循环"+i);
	for(int j=0;j<10;j++)
    {
        System.out.println("内部循环"+j);
    	if(j==5)break flag1;
    	}
}

平常的写法break只会跳出内部循环,继续执行外部循环。
break flag1;则会跳出flag1之后的循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值