Java 如何解决此错误:二进制运算符的操作数类型错误'&&';

Java 如何解决此错误:二进制运算符的操作数类型错误'&&';,java,if-statement,Java,If Statement,我不知道出了什么问题,但这段代码给了我一个错误:二进制运算符“&&”的操作数类型错误 if((n%2==0) && (n>>6) && (n<<20)) { ans = "Not Weird"; } 如果((n%2==0)和&&(n>>6)和&(n大于正是,而不是>,这是一个移位运算符。小于和在这里>>也是一个有符号的向右移位运算符。例如 int x = -4; System.out.prin

我不知道出了什么问题,但这段代码给了我一个错误:二进制运算符“&&”的操作数类型错误

  if((n%2==0) && (n>>6) && (n<<20))
{

          ans = "Not Weird";
      }

如果((n%2==0)和&&(n>>6)和&(n大于正是
,而不是
>
,这是一个移位运算符。小于和
在这里>>也是一个有符号的向右移位运算符。例如

  int x = -4;
  System.out.println(x>>1);   
  int y = 4;
  System.out.println(y>>1);
我会给你

-2
2

这同样适用于左移(6)和(n
>
你认为这是怎么回事呢?
6
n它起作用了!不是投票人,但看看这个答案和你给出的其他答案,你可能给出了正确的代码,但几乎没有解释。详细说明OP出错的原因,或者解释你的更正,会大大降低可能性我有很多人对你的答案投了反对票。@Antoh感谢你的建议也不是反对票(来自这里的低质量帖子评论队列):好的答案不仅仅是代码,请详细说明这是什么,与原始答案有什么不同,什么错了,为什么错了
  if((n%2==0) && (n>6) && (n<20)) {
       ans = "Not Weird" 
   }
if (n > 6 && n < 20 && n % 2 == 0)