Using a bitwise & inside an if statement

前端 未结 2 2001
名媛妹妹
名媛妹妹 2021-01-11 15:47

In C, I can write an if-statement

if (firstInt & 1)

but when I try and do the same in Java, the compiler tells me \"incompatible types\

相关标签:
2条回答
  • 2021-01-11 16:04

    In C an integer expression can be used implicitly as a boolean expression (although I would argue that it is a bad idea), where zero is false and any non-zero value is true.

    In Java that is not allowed so you have to make the expression explicitly boolean by comparing the integer result to some other integer value or expression using a comparison operator.

    0 讨论(0)
  • 2021-01-11 16:06

    Any of the following should work for you:

    if ((firstInt & 1) != 0)
    if ((firstInt & 1) > 0)
    if ((firstInt & 1) == 1)
    
    0 讨论(0)
提交回复
热议问题