在if语句中使用按位和内部
在C中,我可以写一个if语句
if (firstInt & 1)
但是当我尝试在Java中做同样的事情时,编译器告诉我“不兼容的类型”并说我需要一个boolean
而不是一个int
。 有没有办法在Java中编写C代码?
以下任何一项都适合您:
if ((firstInt & 1) != 0) if ((firstInt & 1) > 0) if ((firstInt & 1) == 1)
在C中,整数表达式可以隐式使用作为布尔表达式(虽然我认为这是一个坏主意),其中零为假,任何非零值为真。
在不允许的Java中,您必须通过使用比较运算符将整数结果与某个其他整数值或表达式进行比较,使表达式显式为boolean。