gpt4 book ai didi

return 语句中的 Java 逻辑运算符

转载 作者:行者123 更新时间:2023-12-01 21:08:29 25 4
gpt4 key购买 nike

所以我正在解决codingbat.com上的一些问题,以巩固我迄今为止学到的一些东西,并且预计会有一些问题提供的答案与我解决问题的方式不同。因此,对于一个问题,我使用了我在之前问题的答案中看到的样式/格式,并使其工作正常,但我只想对逻辑进行一些澄清。

问题是:

给定 2 个 int 值,如果它们都在 30..40(含)范围内,或者它们都在 40..50(含)范围内,则返回 true。

这是我的代码:

public boolean in3050(int a, int b) {
boolean in3040 = (a >= 30 && a <= 40) && (b >= 30 && b <= 40);
boolean in4050 = (a >= 40 && a <= 50) && (b >= 40 && b <= 50);

return in3040 || in4050;
}

所以这个答案有效,但是我想要对 return 语句以及 OR 运算符如何与两个 boolean 变量一起工作的解释。另外,如果变量之一之前有 AND 运算符或 NOT,该语句将如何工作。

谢谢!

最佳答案

在 Java 中,逻辑术语是从左到右计算的。这意味着:

  • 对于 OR 语句:a || b --> 如果 a 已经为 true,则整个项必须为 true,b 将不会被评估,如果 a 为 false,b 仍然可以为 true,在这种情况下,两个变量都会被评估
  • 对于 AND 语句:a && b-> 如果 a 已经为 false,则应用相同的逻辑:不需要评估 b 变量

您可以想象如下重写您的条件操作:

if (in3040) {
return true;
}
if (in4050) {
return true;
}

考虑到使用 && 运算符的情况,它看起来像

if (!in3040) {
return false;
}
if(!in4050) {
return false;
}
return true;

关于return 语句中的 Java 逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com