猿问
布尔运算符的不同之处:&VS&和x-vsx
布尔运算符的不同之处:&VS&和x-vsx
我知道
&&
和
||
但是什么是
&
和
|
?请用一个例子向我解释一下。
月关宝盒
浏览 392
回答 3
3回答
DIEA
这些是按位和按位或运算符。int a = 6; // 110int b = 4; // 100// Bitwise AND int c = a & b;// 110// & 100// -----// 100// Bitwise ORint d = a | b;// 110// | 100// -----// 110System.out.println(c); // 4System.out.println(d); // 6感谢Carlos指出Java语言规范中的适当部分(15.22.1, 15.22.2)根据运算符输入的不同行为。实际上,当两个输入都是布尔值时,运算符被认为是布尔逻辑运算符,并且行为类似于条件-和(&&)和有条件的-或(||)操作人员,除非他们没有短路,所以在下列情况下是安全的:if((a != null) && (a.something == 3)){}这不是:if((a != null) & (a.something == 3)){}“短路”是指操作人员不一定检查所有条件。在上面的例子中,&&只在下列情况下才会检查第二个条件:a不是null(否则,整个语句将返回false,并且无论如何检查以下条件都是没有意义的),所以a.something不会引发异常,或被视为“安全”。这个&运算符总是检查子句中的每个条件,所以在上面的例子中,a.something可能会在a实际上是null值,引发异常。
0
0
0
当年话下
我想你说的是这两个操作符的逻辑含义,这里有一个表格-简历:boolean a, b;Operation Meaning Note--------- ------- ---- a && b logical AND short-circuiting a || b logical OR short-circuiting a & b boolean logical AND not short-circuiting a | b boolean logical OR not short-circuiting a ^ b boolean logical exclusive OR !a logical NOTshort-circuiting (x != 0) && (1/x > 1) SAFE not short-circuiting (x != 0) & (1/x > 1) NOT SAFE
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答