Java && ||在 RETURN 语句中?

2024-03-30

我正在查看一些 Java 算法示例,并且在递归方法中遇到了以下代码片段:

boolean subTree(TreeNode t1, TreeNode t2) {
    if (t1 == null) {
        return false;
    }
    if (t1.value == t2.value) {
        if (treeMatch(t1, t2))
            return true;;
    }
    return (subTree(t1.left, t2) || subTree(t1.right, t2));
}

不知道(也从未见过)||之前在 return 语句中使用过,更不用说递归语句了,真的让我很困惑。我将代码复制到 Eclipse 中查看它是否有效,结果确实如此。然后我替换了 || with && 和 Eclipse 似乎并没有被它困扰。从逻辑上讲,我理解这个递归代码应该沿着 TreeNode t1 的左右子树继续向下,但我正在寻找这个 Java 语法如何工作背后的更多理论解释。

谁能解释一下 || 背后的含义Java 的 return 语句中的 && ?从递归的角度来看,这意味着什么?只有与递归结合使用才有意义吗?


正如方法签名中所定义的,您必须返回一个boolean。因此,之后return关键字,您必须提供一个boolean 或一个表达式其评估为boolean.

在你的情况下你有这样的表达(subTree(t1.left, t2) || subTree(t1.right, t2));其中两个操作数将被评估为boolean你将应用一个逻辑OR仅当第一个评估结果为false。如果第一个操作数的计算结果为true第二个将不会被评估并且true将退休。

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

Java && ||在 RETURN 语句中? 的相关文章

  • 解析 (yyyy-MM-dd) 格式的字符串日期

    我有一个 2013 09 18 形式的字符串 我想将其转换为 java util Date 我正在做这个 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd Date converted
  • 从另一个进程捕获 system.out 消息

    我有一个 JVM 1 它启动 JVM 2 我希望能够在 JVM 1 中监视来自 JVM 2 的 System out println 调用 直接的方法是 JVM A 执行系统命令来启动 JVM B 然后 JVM A 读取 B 的所有输出 S
  • 像 Google Play 商店一样在垂直 RecyclerView 中动态不同图像水平 RecyclerView

    我一直在关注这个教程 http android pratap blogspot co za 2015 12 horizo ntal recyclerview in vertical html http android pratap blog
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • 如何将多边形放入另一个多边形内[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有两个多边形 如下图所示 左边是 粗多边形 右边是 最终多边形 现在 我正在寻找算法来将 最终多边形 拟合到 粗糙多边形 内 并具有
  • 为什么不自动装箱泛型的 Java 基本类型?

    Java 不允许在通用数据结构中使用原始类型 例如 不允许使用 ArrayList 原因是 原始类型不能直接转换为Object 然而 Java 1 5 确实支持自动装箱 并且包装类在通用数据结构中工作 那么为什么编译器不能将其自动装箱到 A
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 我可以使用 Selenium Webdriver 测试元素的顺序吗?

    有一个表单 其中有 3 个字段 具有 3 个不同的 ID fieldset div div fieldset
  • 如何在java中从包含.0的浮点数中删除小数部分

    我只想删除包含的浮点数的小数部分 0 所有其他数字都是可以接受的 例如 I P 1 0 2 2 88 0 3 56666 4 1 45 00 99 560 O P 1 2 2 88 3 567 4 1 45 99 560 有什么方法可以做到
  • 如何在 QueryDSL 中选择文字

    我目前正在开发一个使用 queryDSL 和 hibernate 的项目 其中它需要一个选择文字 按照发布的示例here https stackoverflow com questions 18691317 querydsl how to
  • Java 声音可视化器

    我正在尝试制作一个java声音可视化工具 但我完全不知道如何在实时处理音频后立即从提取的音频中获取字节 我可以将程序与 wav 文件同步 但这不是我想要做的 我想用程序生成声音 然后播放它 而不将其保存在任何地方 谢谢您的帮助 本文可以帮助
  • 使用 Haskell 将函数注入到 Java .class 文件中

    我使用 Haskell 编写了一个 Java 字节码解析器 它工作得很好 然而下一步让我完全难住了 我的 Haskell 程序需要修改 class 文件 以便在执行时 Java 程序打印 输入 此处的方法名称 在执行方法之前 并且 退出 此
  • 将 Maven 控制台与 m2eclipse 一起使用

    Maven 新手在这里 有没有办法在 Eclipse 中打开控制台并在 M2Eclipse 插件上执行 Maven 命令 这是一个非常好的插件 但我环顾四周 没有找到我想要的一些功能 谢谢 如果你想运行特定的maven插件 你可以这样做 g
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • java中什么是静态接口?

    我正在阅读Map Entry界面 当我注意到它是一个static界面 我不太明白什么是静态接口 它与常规接口有什么不同 public static interface Map Entry
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • Java有没有类似微软CHESS的工具?

    是否有类似于 Microsoft 的现有 Java 工具CHESS http research microsoft com chess 或者 CHESS 源代码是否开放 以便我可以尝试将其转换为 Java 谷歌的织线工 http code
  • removeall 和removeif 的用例

    我找到了这个 fun main val list MutableList

随机推荐

  • Android NDK:使用预编译静态库进行链接

    我正在尝试将 Jnetpcap 移植到 Android 以便使用它来解析 pcap 文件 Jnetpcap 是使用 JNI 的 libpcap 的 java 包装器 我已经使用 android 的源代码树将 libpcap 编译为静态库 当
  • 需要 EJB 3.1 Singleton + JPA + JSF 设计建议

    给定 简单的 JSF web 应用程序 无 Seam 让 JSF bean 调用几个 EJB 而 EJB 又加载并保存 JPA 实体 我想要的是使用 Singletonejb 和注入的注释EntityManager 代替 EntityMan
  • 将分析仪连接到 Howler sound

    我已经尝试将分析仪连接到 Howler 声音一段时间了 但没有成功 我像这样创建我的嚎叫声音 var sound new Howl urls media sounds genesis mp3 然后我使用 Howler 全局上下文创建分析器
  • 如何防止应用程序被标记为可疑

    我有一个使用 Visual Studio 2012 用 C 编写的 NET 应用程序 我通过自己的网站推广该应用程序并提供下载 在 Chrome 中下载它时 我收到一条消息 指出我的应用程序 不常下载 可能很危险 此外 当我下载自己的应用程
  • 处理 ListView 中的 MouseMove、MouseDown、MouseUp 事件以拖动无边框表单

    我在用着MouseMove MouseUp MouseDown移动无边界表单的事件 如此处的示例 它工作得很好 但对于 ListView 只有当我单击列表中的项目 其文本 时它才有效 如果我单击不包含项目的 ListView 的空间 它将不
  • 警告:javax.persistence.spi::未找到有效的提供程序

    我收到警告 WARNING javax persistence spi No valid providers found 我有带有 JPA 注释的代码 但我只需要它们与 JOOQ 一起使用 如何去掉这个警告呢 添加我的 gradle 文件
  • 为什么添加“Eq”类型约束而不使用“==”?

    因此 我有一个非常简单的函数 它接受两个参数 第一个是一小时 0 到 23 之间 第二个是一分钟 0 到 59 之间 此函数返回小时加一分钟 并以漂亮的样式格式化小时 举例来说 hour 11 12 return 11 heures et
  • 使用 find_by_id 获取 RSpec 中不存在的记录时引发 RecordNotFound

    我在 products controller spec rb 中编写了此规范 旨在测试在不存在的记录上调用 destroy 时的重定向 it deleting a non existent product should redirect t
  • JavaScript+Phonegap+Android:screen.width 返回错误(几乎随机)值

    使用 deviceready 事件启动应用程序后 Android 上的 Phonegap 应用程序在 ZTE Blade 本机 800px 上返回错误的 screen width window innerWidth 相同 值 我得到的宽度值
  • Amazon AWS Fargate 任务静态 IP 地址

    在 AWS 上迁移期间 我在 AWS 上创建了一个新集群 并使用 Fargate 方法部署了多个 docker 应用程序 每次更新任务定义期间 都会在服务内启动新任务 并从 AWS 公共 IP 池分配新的公共 IP 有没有关于如何将静态 I
  • 如何更改 NSTimer 的计时?

    我有以下代码 timer NSTimer scheduledTimerWithTimeInterval 0 50 target self selector selector onTimer userInfo nil repeats YES
  • 在 ASP.NET MVC Web 应用程序中包含预编译视图

    在 ASP NET MVC Web 应用程序中包含预编译视图 参考 http ofps oreilly com titles 9781449320317 ch ReusableUI html 请参阅上面的博客 我正在尝试在 MVC 3 中创
  • LMAX Disruptor最简单、最实际的示例代码

    我希望我能得到最简单的示例代码 它将展示如何使用 LMAX Disruptor http code google com p disruptor 不幸的是 每一段代码都已经过时了 有人知道 我在哪里可以找到最新的小指南 最好没有 DSL 这
  • EntityFramework 同表多对多关系

    我有一个名为 产品 的表 其中显然包含产品 但是 我需要创建相关产品 所以我所做的就是创建一个名为product related 的连接表 它有两个PK ProductID 来自 Products 表 RelatedID 也来自 Produ
  • 我可以在 Android 开发中使用 javax.script 吗?如果可以,如何使用?

    我在包含 javax script 时遇到了一些麻烦在 Android 项目中 我需要它 这样我就可以在 JavaScript 中使用 eval 函数 以便有效地解析算术函数 而无需自己构建解析器 我在这方面完全没有经验 也没有很多时间 我
  • 确定我的 App Engine 代码正在哪个项目 ID 上运行

    在 App Engine 应用程序中 有没有办法确定 GAE App Engine 实例正在运行的项目 ID 我想访问运行 App Engine 实例的同一项目中的大型查询表 如果可能的话 我不想对其进行硬编码或将其包含在另一个配置文件中
  • Prolog 程序从列表中删除每个第 n 个元素

    您能帮我解决以下问题吗 编写三元谓词delete nth从列表中删除每个第 n 个元素 样本运行 delete nth a b c d e f 2 L L a c e false delete nth a b c d e f 1 L L f
  • JavaFX 2 自动列宽

    我有一个 JavaFX 2 表 显示人们的联系方式 假设有三列 名字 姓氏和电子邮件地址 当我的应用程序启动时 它会在表中填充有关系统中已有人员的几行数据 问题是列宽都是相同的 大多数时候 名字和姓氏会完整显示 但电子邮件地址会被剪掉 用户
  • 两个属性与一个实体共享相同的 OneToMany 关系 Symfony2

    首先描述一下我的情况 我正在使用 Symfony2 但我的实体之间的关系存在问题 我有两个链接在一起的实体 这两个实体是AssociationQuestion and AssociationPossibleAnswer 我目前正在创建一个调
  • Java && ||在 RETURN 语句中?

    我正在查看一些 Java 算法示例 并且在递归方法中遇到了以下代码片段 boolean subTree TreeNode t1 TreeNode t2 if t1 null return false if t1 value t2 value