Java 做 while, while

2024-02-09

当我运行此代码时,我可以期待什么行为:

do while(testA) {

    // do stuff

} while(testB);

它的行为会像:

do {
    while(testA) {
        // do stuff
    }    
} while(testB);

Or:

if(testA) {
    do {
        // do stuff
    } while(testA && testB);
}

或者完全出乎意料的事情?

我问这个问题是因为我认为这是相当含糊的,对于其他搜索这个主题的人来说,not因为我懒得去测试。


它相当于你的第一个块:

do {
    while(testA) {
        // do stuff
    }    
} while(testB);

的相关部分Java语法 http://java.sun.com/docs/books/jls/first_edition/html/19.doc.html#26499解析时是:

DoStatement:
    do Statement while ( Expression ) ;

Statement:
    WhileStatement

WhileStatement:
    while ( Expression ) Statement

Statement:
    Block

Block:
    { BlockStatements_opt }

你可以看到Java编译器会将其解析为do <WhileStatement> while ( Expression ) ;。这是解析您编写的代码的唯一有效方法。

请记住,它没有任何特殊规则来解析此构造。由于 do-while 循环的编写方式不寻常,它最终会让人们阅读起来感到困惑。在正常使用中,do-while 总是写成do { ... } while带有明确的花括号。

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

Java 做 while, while 的相关文章

  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • terraform 文件中的展开运算符

    我想简化这样的构造 variable google type object project string region string zone string provider google project var google projec
  • JSF 中的应用程序作用域和 Spring 中的单例作用域之间的区别

    谁能解释一下 ApplicationScope JSF 和 Singleton Spring MVC 之间的区别 我有一个用 jsf 编写的应用程序 其中一个类使用应用程序范围 在转换为 spring 时 我使用了 Singleton 范围
  • 简单的任务:连接到数据库,执行存储过程,断开连接

    我不一定需要从 VBScript 向存储过程传递任何变量 我只需要在服务器上运行存储过程 我还没有找到任何明确的示例来说明如何执行此操作 只有很多人解释如何将变量从 SP 传递回 VBScript 任何帮助将不胜感激 看起来我必须打开一个连
  • Google Colab 消耗过多互联网数据

    最近 google colab 消耗了太多的互联网数据 单笔记本 6 小时训练约 4GB 可能是什么问题 是的 我有同样的问题 它通常工作正常 但互联网数据突然激增 检查这个 https i stack imgur com Ms9QI pn
  • ViewModel 在视图中无法识别

    我在不同项目 类库 中的视图模型 我添加了参考 但是当我从我的 mvc4 视图中调用它时 例如 model Fancy Management Model Home IndexModel 查看未识别它 我不知道是什么问题 我的视图如下所示 m
  • 控制 Kubernetes 中单个 pod 中容器终止的顺序

    我的一个容器内有两个容器 第一个是我的应用程序容器 第二个是 CloudSQL 代理容器 基本上我的应用程序容器依赖于这个 CloudSQL 容器 问题是 当 pod 终止时 CloudSQL 代理容器首先终止 并且仅在几秒钟后我的应用程序
  • 从命令行启动时出现 MacVim 颜色问题

    我对 Vim 比较陌生 到目前为止一直在使用它 没有出现任何问题 我要么从我的扩展坞启动 MacVim 要么使用mvim从命令行 到目前为止效果很好 但现在我遇到了一个问题 没有明显的原因 从命令行启动 MacVim 开始创建一个所有颜色都
  • 在Java中忽略你自己的UDP广播

    在我的程序中 我发送 UDP 广播并对它们做出反应 我需要一种方法来忽略 UDP 广播I发送出去 但对那些不是来自我的机器的做出反应 我确实尝试使用 if NetworkInterface getByInetAddress packet g
  • Vue JS - 访问组件内的根计算属性

    我正在尝试从根 Vue 实例访问计算属性并在组件内部访问它 这 p class currency 在组件模板外部输出的元素正确输出 currency 但是当尝试访问组件内部的 currency 时 不会输出任何内容 我尝试过将货币设置为道具
  • 使用 R 在坐标系中绘制节点和边

    我实施了FR测试here http itee uq edu au zxf papers ACMMM08 distributionn pdf现在我想通过可视化 R 中生成的最小生成树来测试它 顶点和边应该在坐标系中绘制 此外 我想为每个点设置
  • MongoDB 嵌入 Java

    我从文档中得到的是 它在其他计算机上作为单独的进程运行 我可以使用 java 的 mongo db 客户端驱动程序与它进行通信 并且我可以执行正常操作 但我怀疑我是否可以在我的java应用程序中使用MongoDB作为嵌入式数据库 我的意思是
  • 带有 UIImage 的 Swift 游乐场

    我正在使用 Xcode 6 并且正在尝试重新创建在会话 401 Xcode 6 中的新增功能 期间演示的代码 我已将图像添加到 Images xcassets 称为 Sample 并在游乐场文件中我尝试访问此图像 如演示的那样 我的代码如下
  • 为什么 React devtools Profiler 不向我显示组件属性?

    我开始学习React的优化 并看到一些学习资源 在它们上 我可以在探查器中看到组件道具 但在我的 Profiler 中 我没有看到任何道具 为什么 如何在 Profiler 中查看当前渲染组件的 props A make screensho
  • 方法:python-pdfkit 将网页(JS生成)转换为PDF

    views py def download as pdf request some stuff function call to get updated with data and JS template and render it ret
  • Laravel Eloquent:SQL 注入预防是自动完成的吗?

    给出示例代码 Message是一个雄辩的模型 public function submit Request request this gt validate request name gt required email gt require
  • 从 cypress 中的函数返回一个值[重复]

    这个问题在这里已经有答案了 import StudentDetails from Department let studentInfo new StudentDetails let studName any it Get Student N
  • 为什么我的 Qt 4.5 应用程序在 Windows 下打开控制台窗口?

    我一直在 Linux 下使用 Qt Creator 4 5 我的应用程序在 Linux 下构建得很好 但如果我在 Windows 中构建 该应用程序总是在启动时打开一个控制台窗口 我可以阻止它这样做吗 我正在使用默认的 MinGW 设置进行
  • 如何提高JPictureBox大图像的绘制速度?

    我有一个 JPictureBox 从 java awt Component 扩展 请参阅此处的代码http pastebin com SAJc6Sht http pastebin com SAJc6Sht 但只有在没有图像拉伸的情况下它才有
  • 撤销对表 pg_proc 上 postgresql 中不起作用的特定列的访问

    我的目标是仅允许特定用户执行特定模式中的函数 按名称列出可用的函数 但看不到函数的源代码或列出其他模式 通过执行以下操作 无需列出可用函数名称即可实现上述目的 首先创建一个测试用户角色 CREATE ROLE test user WITH
  • Java 做 while, while

    当我运行此代码时 我可以期待什么行为 do while testA do stuff while testB 它的行为会像 do while testA do stuff while testB Or if testA do do stuf