二元运算符'< ='

时间:2016-03-09 18:57:31

标签: java if-statement boolean logical-operators

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 个答案:

答案 0 :(得分:4)

使用此代码代替您的代码修复问题

rand2=  0.486507681046

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

比较是二元操作,从左到右逐个处理。

答案 1 :(得分:4)

Java的工作原理:51 <= x <= 9 首先计算51 <= x,结果是代码中的false(布尔值)。 然后用<= 9尝试结果。 因此错误,&#34;&lt; =对布尔和int&#34;无效。

正如其他答案中所建议的那样,您必须使用&&(和)运算符。例如:

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

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

希望这有助于解释。

答案 2 :(得分:2)

您应该使用逻辑运算符&&,意思是。其他人||表示否定 !。您可以使用这些运算符和括号()进行各种组合。

你的情况应该是这样的:

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

答案 3 :(得分: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");
        }