繁体   English   中英

二元运算符'<='的坏操作数类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM