for或者while的标记循环

for或者while的标记循环

今天在写代码的时候,发现一个for循环前有一个字母,不知道这个是什么语法,后来查了一下,这个语法是用来实现标记循环的功能

这个是代码块


r:for(int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++){
                    HSSFRow row = sheet.getRow(rowNum);
                    //删除下面这一行
                    System.out.println("行号"+rowNum+"编码"+POIUtils.getCellValue(row.getCell(0)));
                    if(row == null)
                        continue;
                            
                    //判断编码是否为空
                    HSSFCell cellA = row.getCell(0);
                    String codeVal = POIUtils.getCellValue(cellA);
                    if(StringUtils.isEmpty(codeVal)){//该行订单号为空
                        //excpMsg += "第[" + (row.getRowNum()+1) + "]行订单号是空的;";
                        continue;
                    }
                    if(omsCmccOrderList.size()>0){//省移动B2B集合存在订单
                     boolean flag = false;//标记省移动B2B集合中是否包含该订单
                        //遍历省移动B2B订单集合
                     for(OmsCmccOrderObject bound : omsCmccOrderList){
                      if(codeVal.equals(bound.getOrderNo())){
                       //excel去重
                       num = String.valueOf((row.getRowNum()+1));
                       errMsg = "该行与第["+num+"]行订单号["+codeVal+"]相同!";
                       cmccOrderMapper.insertExceptionMsg(num, errMsg);
                                        
                       //省移动B2B集合中存在该订单
                           flag = false;
                           continue r;
                      
                     
                        }else {
                       //省移动B2B集合中没有重复订单
                       //判断该订单是否在数据库中已存在,那么调用update函数,那么根据该订单的状态,若是-9那么改成0,并返回审核通过;如果是0那么返回审核通过,如果不存在报错
                           
                           flag = false;
                        }
                     }

这个是上面代码的图片


for循环的标记循环


    可以看到在标记1出,出现的r:这个就是标记循环,标记2是最外面的for循环,标记3的地方是一个for循环,标记4的地方就是循环标签出现的地方。

    根据return的语法,如果不同循环标签的话,那么在标记4处的return语句,会跳出该次循环,但是回跳到标记3处的循环,但是如果你要是实现的是跳到标记1处的循环,那么用标签循环这个语法就可以实现。return r,就会跳到标记1处的for循环;

转载于:https://www.cnblogs.com/dushan/p/5039376.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值