do while break 用法

do while break

do while(false) + break 可以模拟 goto语句,遇到break直接跳转。

@RequestMapping ("/add")
    @ResponseBody
    @Override
    public Map<String, Serializable> addComment(Comment comment, String token) {
        Map<String, Serializable> result = new HashMap<>();
        result.put("status", "failure");
        try {
            do {
                Token tokenCheck = TokenUtil.checkToken(token, TokenUtil.TokenUssage.DEFAULT);
                User user = userService.findUserById(tokenCheck.getUserId());
                if (user == null) {
                    throw new TokenUtil.TokenNotFound("用户不存在");
                }
                if (comment.getVideoId() == null) {
                    result.put("msg", "视频 id 为空");
                    break;
                } else {
                    Video video = videoService.findVideoById(comment.getVideoId());
                    if (video == null) {
                        result.put("msg", "视频 id 不正确");
                        break;
                    }
                }
                if (comment.getContent() == null) {
                    result.put("msg", "评论内容为空");
                    break;
                } else if (comment.getContent().length() == 0 || comment.getContent().length() > 250) {
                    result.put("msg", "评论内容为空或超过250长度限制");
                    break;
                }
                comment.setUserId(user.getId());
                comment.setId(null);
                comment.setSendtime(ZonedDateTime.now());
                comment.setCountLike(0);
                try {
                    commentService.addComment(comment);
                    result.put("status", "success");
                } catch (Exception e) {
                    result.put("msg", "未知错误");
                }
            } while (false);
        } catch (TokenUtil.TokenExpired | TokenUtil.TokenNotFound | TokenUtil.TokenOverAuthed | TokenUtil.TokenUssageNotMatched tokenError) {
            result.put("msg", tokenError.getMessage());
        }
        return result;
    }
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python中没有do-while循环,但可以使用while循环来实现类似的功能。while循环先执行一次循环体,然后再判断条件是否满足,如果满足则继续执行循环体,直到条件不满足为止。如果要至少执行一次循环体,可以在循环体外先执行一次,然后再进入while循环。例如: ``` i = while True: i += 1 print(i) if i >= 10: break ``` 这个循环会先执行一次print(i),然后判断i是否大于等于10,如果不是则继续执行循环体,直到i大于等于10为止。 ### 回答2: Python中并没有do-while循环这个语法结构,但我们可以利用while循环实现类似的功能。 do-while循环的特点是先执行一次循环体,在判断循环条件是否成立,如果条件成立则继续执行循环体,否则退出循环。而Python的while循环是先判断条件是否成立,再执行循环体,因此需要在循环体中添加一个条件判断语句,使得循环至少能够执行一次。 以下是一个使用while循环实现do-while循环的示例: ``` count = 0 while True: count += 1 print("循环次数:", count) if count == 5: break ``` 这个程序会执行5次循环,每次循环输出循环次数。我们通过设置一个无限循环(while True)和一个条件判断语句,使得循环至少会执行一次。在循环体中,我们对循环次数进行累加,当循环次数等于5时,我们使用break语句退出循环。 在以上示例中,我们还可以使用while循环的else语句,使代码更加简洁。 ``` count = 0 while count < 5: count += 1 print("循环次数:", count) else: print("循环结束") ``` 这个程序同样执行5次循环,每次循环输出循环次数。当count小于5时,程序会执行while循环体;当count等于5时,程序会跳过while循环体,执行else语句部分的代码。这样就省去了使用break语句的步骤。 因此,虽然Python中没有do-while循环,但我们可以在while循环中加入条件判断语句,实现类似的功能。 ### 回答3: Python语言中没有像其他编程语言那样明确的do...while循环语句。但是,我们可以通过while循环语句来实现类似于do...while循环的功能。 在while循环语句中,while后面加上一个条件判断语句,当条件为True时,执行循环体中的语句。如果条件为False时,跳出循环体,执行while语句后面的语句。 下面是一个使用while循环实现do...while循环的例子: ``` x = 0 while True: print(x) x += 1 if x > 5: break ``` 在上面的例子中,我们使用了一个无限循环(while True),通过if语句来判断是否达到了退出循环的条件(x > 5),如果达到了条件,就使用break语句跳出循环。在循环体中,我们先输出了x的值,然后将它加1,以便在下一轮循环中判断退出条件。 需要注意的是,在使用while循环实现do...while循环时,必须要在代码中手动添加一个无限循环,以确保循环至少会执行一次。否则,如果条件判断为假,将直接跳过循环体,程序不会执行任何操作。另外,还要在循环体中手动添加判断跳出循环的条件,以保证程序不会一直执行下去。 总结来说,Python中没有do...while循环语句,我们可以使用while循环语句来实现类似于do...while循环的功能。需要注意的是,要在代码中手动添加一个无限循环,以及在循环体中手动添加判断跳出循环的条件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值