在if语句中使用按位和内部

use*_*650 11 c java if-statement bit-manipulation operator-keyword

在C中,我可以写一个if语句

if (firstInt & 1)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在Java中做同样的事情时,编译器会告诉我"不兼容的类型"并说我需要一个boolean而不是一个int.有没有办法在Java中编写C代码?

Tim*_*per 23

以下任何一项都适合您:

if ((firstInt & 1) != 0)
if ((firstInt & 1) > 0)
if ((firstInt & 1) == 1)
Run Code Online (Sandbox Code Playgroud)

  • 请注意,parens(我已添加)是正确的必要条件.在Java中,比较运算符比二进制位运算符更紧密地绑定. (3认同)