[英]bad operand types for binary operator '<='
class First {
public static void main(String[] arguments) {
int x =60;
if (51 <= x <= 9) {
System.out.println("Let's do something using Java technology.");
} else {
System.out.println("Let's");
}
}
}
我收到错误,我不明白为什么我不熟悉Java和编程。
二元运算符的坏操作数类型
<=
if (51 <= x <= 9) {
first type: boolean
second type: int
1 error
使用此代码而不是您的代码来解决问题
51 <= x && x <= 9
您的麻烦是因为第一次比较返回布尔值并将其与int值进行比较。 这是不对的。
比较是二进制操作,从左到右逐个处理。
Java的工作原理: 51 <= x <= 9
51 <= x
首先计算得到代码中的false(布尔值)。 然后用<= 9
尝试结果。 因此错误,“<=对布尔和int无效”。
如其他答案所示,您将不得不使用&&
(和)运算符。 例如:
if (x <= 51 && x >= 9) {
//do something
}
正如你在我的回答中所看到的,我使用了小于和大于,这有助于阅读代码。 读取好像x
小于等于51且x
大于等于9。
希望这有助于解释。
你应该使用逻辑运算符&&
含义和 。 其他人是||
意义或 否定 !
。 您可以使用这些运算符和括号()
进行各种组合。
你的情况应该是这样的:
if (51 <= x && x <= 9) {
您正在使用Java中的另一种语言(可能是Python)的语法:
if (51 <= x && x <= 9)
例
int x = 60;
if (51 <= x && x <= 9) {
System.out.println("Let's do something using Java technology.");
} else {
System.out.println("Let's");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.