do-while 循环什么时候比 while 循环更好?

2023-11-27

这是一个非常主观的问题,所以我会更具体。 do-while 循环是否会成为比普通 while 循环更好的编码风格?

e.g.

int count = 0;
do {
   System.out.println("Welcome to Java");
   count++;
} while (count < 10);`

对我来说,在评估 do 语句之后检查 while 条件(又名强制 do 语句至少运行一次)似乎没有意义。

对于像上面的例子这样简单的事情,我会想象:

int count = 0; 
while(count < 10) { 
   System.out.println("Welcome to Java"); count++;
}

通常会被认为是用更好的写作风格写的。

谁能给我提供一个工作示例,说明何时将 do-while 循环视为唯一/最佳选择?你的代码中有 do-while 循环吗?它起什么作用?为什么选择 do-while 循环?

(我有一种预感,do-while 循环可能在游戏编码中有用。如果我错了,请纠正我,游戏开发者!)


如果要从网络套接字读取数据直到找到字符序列,则首先需要读取数据,然后检查数据中的转义序列。

do
{ 
   // read data
} while ( /* data is not escape sequence */ );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

do-while 循环什么时候比 while 循环更好? 的相关文章

随机推荐

  • Spring/Hibernate如何访问私有成员?

    如您所知 Spring 可以向私有实例变量注入值 而 Hibernate 可以访问持久类的私有变量 但是 我什至无法通过反射调用类的受保护方法 Spring 和 Hibernate 怎么能如此公然破坏安全呢 更重要的是 我该怎么做 D 当没
  • 如何在 blazor 服务器端应用程序中检测移动设备?

    我需要检测 blazor 服务器端应用程序的用户是否正在使用移动设备 有什么办法可以查出用户正在使用哪个设备 我知道我可以使用 JSRuntime 来完成 但是有什么方法可以使用纯 C 来解决这个问题吗 您可以在应用程序的 JavaScri
  • 在 JavaFX 中,我应该使用 CSS 或 setter 方法来更改 UI 节点上的属性吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 有两种方法可以在 UI 节点 标签 按钮等 上设置属性 我可以使用这样的东西 Button b new Button Sample b setTextFill Paint valueOf
  • 如何在 thymeleaf th:each 中使用另一个属性进行比较来过滤集合

    我正在尝试按照以下 url 中的示例使用 Thymeleaf 过滤集合 馆藏投影与选择 部分 http doanduyhai wordpress com 2012 04 14 spring mvc part iv thymeleaf adv
  • R ggplot组内的排序条

    我正在尝试在 R 中格式化分组条形图ggplot这样每组的条形都按降序排列 这是我当前的情节 基于此数据框 gt top categories Category Count Community 1 Singer Songwriters 15
  • AngularJS 模块声明的最佳实践?

    我的应用程序中声明了一堆 Angular 模块 我最初开始使用 链接 语法来声明它们 如下所示 angular module mymodule controller myctrl dep1 function dep1 service mys
  • SQL中(+)是什么意思?

    此 SQL 语句中Where 子句中的 是什么意思 SELECT p FIRSTNAME p LASTNAME p LOGINNAME a DESCRIPTION a PERIPHERALNUMBER a SUPERVISORAGENT t
  • 如何在 ApacheDS 上解锁用户

    我设置了启用默认密码策略的 ApacheDS 为了进行测试 我通过多次输入错误的凭据来锁定一个简单的用户 objectClass 用一些自定义用户对象类扩展的人 正如我所料 用户被锁定 错误消息 用户被永久锁定 现在的问题是 如何再次解锁用
  • ElasticSearch 在文档插入时运行脚本(插入 API)

    是否可以指定一个script插入文档时执行弹性搜索使用它的索引API 当使用其新信息更新现有文档时 存在此功能更新API 通过传递scriptHTTP 请求正文中的属性 我认为它在 Index API 中也很有用 因为用户可能希望在插入期间
  • 无法使用 AVAssetExportSession 修剪视频

    我想剪辑视频 void trimVideo NSURL outputURL NSFileManager defaultManager removeItemAtURL outputURL error nil AVURLAsset asset
  • 从我自己的应用程序中启动 Apple Mail 应用程序?

    我已经发现的是 UIApplication sharedApplication openURL NSURL URLWithString mailto 但我只想打开邮件应用程序 而不仅仅是编辑器视图 只是邮件应用程序处于正常或最后状态 有任何
  • 如何防止Java超出容器内存限制?

    我正在 Docker 容器内运行 Java 程序 该容器的硬内存限制为 4GB 我已将最大堆设置为 3GB 但 Java 程序仍然超出限制并被杀死 OOMKilled 我的问题是 如何配置 Java 以尊重设置的容器限制并抛出 OutOfM
  • 如何使用 pdfkit 和 Node js 通过管道传输流

    在 PDFkit 0 5 之前 以下内容对我有用 通过 pdfkit 生成 pdf 通过 ipp 打印到 CUPS var ipp require ipp var PDFDocument require pdfkit var doc new
  • 无法单击 z 索引为负的文本框

    我在屏幕中间有一个文本框 但是当我单击它时 没有记录任何点击 我认为这是 CSS Z Index 问题 我该如何诊断和解决这个问题 JsFiddle div container z index 1 position relative hei
  • 如何在 JSP 中呈现递归集合

    我有一个后端服务 它返回给我一个Info目的 这Info对象有一个列表FolderGroup对象又具有列表FolderGroup物体等等 基本上它是代表文件夹和子文件夹 但在我的 JSP 页面中 我不知道要迭代到什么深度 JSTL 如何处理
  • webpack 4 反应意外令牌...(扩展运算符)

    最近我已经实施了Webpack 4为我的设置react app My webpack config js看起来像这样 const HtmlWebPackPlugin require html webpack plugin const htm
  • 在编译时从 MASM/MASM64 检测架构

    如何在编译时从 ASM 源文件检测目标架构是 I386 还是 AMD64 我正在使用 masm ml exe masm64 ml64 exe 来汇编 file32 asm 和 file64 asm 最好创建一个文件 file asm 其中应
  • 添加后缀,后跟用户输入材料 ui TextField

    我想创建当用户键入后跟输入装饰时具有值的 TextField 元素 是否可以在值后面添加 符号而不是输入末尾 目前 百分号 位于用户键入之前的输入开始处 如果有值 则将转到输入结束处
  • 有没有办法删除 Unix 中文件中的重复标头?

    如何从文件中删除多个标头 我在找到下面的代码后尝试使用它在 Unix 中如何删除文件中的重复行 awk x 0 file txt 它正在删除文件中的所有重复记录 但就我而言 我只需要删除标头重复项 而不是文件中的重复记录 例如 我有一个包含
  • do-while 循环什么时候比 while 循环更好?

    这是一个非常主观的问题 所以我会更具体 do while 循环是否会成为比普通 while 循环更好的编码风格 e g int count 0 do System out println Welcome to Java count whil