java - 只是一个关于逻辑的小问题。为什么这些是等价的?
问题描述
以为我会再次开始学习编码这么快的问题。这是为什么以及如何:
if (n1 >= 13 && n1 <= 19 || n2 >= 13 && n2 <= 19 || n3 >= 13 && n3 <= 19) {
return true;
}
和这个:
return n1 >= 13 && n1 <= 19 || n2 >= 13 && n2 <= 19 || n3 >= 13 && n3 <= 19;
相等的?有人想向我解释其中的逻辑吗?
解决方案
在您的第一个版本中,如果表达式:
(n1 >= 13 && n1 <= 19 || n2 >= 13 && n2 <= 19 || n3 >= 13 && n3 <= 19)
istrue
然后true
返回,如果它false
则不返回任何内容。
您的第二个版本返回上述表达式的值true
或false
.
所以它们不是等价的。
如果您将第一个版本更改为:
if (n1 >= 13 && n1 <= 19 || n2 >= 13 && n2 <= 19 || n3 >= 13 && n3 <= 19) {
return true;
} else {
return false;
}
那么它们是等价的。
推荐阅读
- python - 使用套接字模块在不同网络上的两台计算机之间进行通信
- python - 为什么shutil.copy2有时会修改文件的st_mtime?
- python - 印刷品的含义及其执行方式是什么?
- javascript - JS在循环内应用函数
- python - 为什么这个正则表达式不适用于 re.search?
- javascript - 当我尝试检索它时,类组件中的状态变量未定义
- python - 如何在 matplotlib 中生成矩形箱线图?
- ajax - ajax中数量变化时如何更改总价?
- javascript - 使用 NetworkD3 修改 Sankey 中的链接和节点颜色
- ios - 使用“true”执行布尔变量 - 仅延迟一次 - 然后正常