首页 文章

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

提问于
浏览
2
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

4 回答

  • 2

    Java的工作原理:首先计算 51 <= x <= 9 51 <= x ,结果是代码中的false(布尔值) . 然后用 <= 9 尝试结果 . 因此错误,"<= not valid for boolean and int" .

    如其他答案所示,您必须使用 && (和)运算符 . 例如:

    if (x <= 51 && x >= 9) {
        //do something
    }
    

    正如你在我的回答中所看到的,我使用了小于和大于,这有助于阅读代码 . 读取好像 x 小于等于51且 x 大于等于9 .

    希望这有助于解释 .

  • 4

    使用此代码而不是您的代码来解决问题

    51 <= x && x <= 9
    

    您的麻烦是因为第一次比较返回布尔值并将其与int值进行比较 . 这是不对的 .

    比较是二进制操作,从左到右逐个处理 .

  • 4

    您应该使用逻辑运算符 && 含义 and . 其他的是 || ,意思是 ornegation ! . 您可以使用这些运算符和括号 () 进行各种组合 .

    你的情况应该是这样的:

    if (51 <= x && x <= 9) {
    
  • 1

    您正在使用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");
            }
    

相关问题