【发布时间】:2017-01-21 09:25:10
【问题描述】:
所以我正在努力解决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 运算符如何与两个布尔变量一起工作。此外,如果在变量之一之前有 AND 运算符或 NOT,该语句将如何工作。
谢谢!
【问题讨论】:
-
它在 return 语句中的事实完全无关紧要。可能是
boolean result = in3040 || in4050; return result;。那么,您对||运算符进行了哪些研究?你读过docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html吗? -
当 a 和 b 均为 40 时,如果使用 AND,它将返回 true。使用 NOT,将排除其中一个范围。
标签: java boolean logic boolean-logic