可以像这样使用按位运算符(|,^,&):
int a=23;
int b=42;
if(a==20^b==40){...};
虽然在H.Schildt的“Java,A Beginner's Guide”中,它表示像这样的运营商同样符合逻辑和按位。
答案 0 :(得分:2)
是的,你可以,但我认为你不应该。
确保您的代码反映了您打算做的事情。 Java具有原生boolean
类型,可用于true
或false
值。您可以将它们与逻辑&&
("和"),||
("或")结合使用,也可以使用一元 - !
( " not"),以及所有比较运算符。
当您使用这些运算符时,您告诉您正在检查条件。
另一方面,位运算符正在使用整数类型(即byte
,short
,int
,long
)。通过在这些类型上使用它们,您告诉您正在执行计算。
即使您可以使用位运算符而不是逻辑运算符,代码维护者也很难弄清楚您的意图。
答案 1 :(得分:0)
是的,可以使用这样的逻辑运算符。
注意,如果操作数是整数类型,它们只是按位运算符。在您的示例代码中,操作数是boolean
(a==20
和b==40
的结果)...这意味着运算符是逻辑运算符而不是按位运算符。
(如果您认为我是迂腐的,请考虑a + b
其中a
和b
是String
个对象。我们不会调用{{1}在该上下文中运算符“添加”。)