我只是想知道为什么我们通常||在两个布尔值之间使用逻辑OR 而不是按位OR |,尽管它们都运行良好.
我的意思是,看看以下内容:
if(true | true) // pass
if(true | false) // pass
if(false | true) // pass
if(false | false) // no pass
Run Code Online (Sandbox Code Playgroud)
if(true || true) // pass
if(true || false) // pass
if(false || true) // pass
if(false || false) // no pass
Run Code Online (Sandbox Code Playgroud)
我们可以用|而不是||吗?同样的事情&和&&.
哪一组是短路的,这究竟是什么意味着复杂的条件表达式是短路的?
public static void main(String[] args) {
int x, y, z;
x = 10;
y = 20;
z = 30;
// T T
// T F
// F T
// F F
//SET A
boolean a = (x < z) && (x == x);
boolean b = (x < z) && (x == z);
boolean c = (x == z) && (x < z);
boolean d = (x == z) && (x > z);
//SET B
boolean aa = (x …Run Code Online (Sandbox Code Playgroud)