我只是想知道为什么我们通常||在两个布尔值之间使用逻辑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)
我们可以用|而不是||吗?同样的事情&和&&.
可能重复:
|之间的区别是什么 和|| 在Java?
&和&&的区别
我只是想知道&和&&之间的区别是什么?
几天我写了一个if声明的条件看起来像:
if(x < 50 && x > 0)
Run Code Online (Sandbox Code Playgroud)
但是,我改变了&&只是&并没有表现出错误.有什么不同?
示例:我编译了这个简单的程序:
package anddifferences;
public class Main {
public static void main(String[] args) {
int x = 25;
if(x < 50 && x > 0) {
System.out.println("OK");
}
if(x < 50 & x > 0) {
System.out.println("Yup");
}
}
}
Run Code Online (Sandbox Code Playgroud)
它印有"OK"和"Yup".如果它们都起作用,那么我使用哪一个呢?
换句话说,以下两个语句的行为方式是否相同?
isFoobared = isFoobared && methodWithSideEffects();
isFoobared &= methodWithSideEffects();
Run Code Online (Sandbox Code Playgroud)
我意识到我可以写一个测试,但有人可能会知道这个,其他人可能会觉得答案很有用.
这是代码段
你能解释一下输出变化的原因吗?
1)
public static ShortCkt {
public static void main(String args[]) {
int i = 0;
boolean t = true;
boolean f = false, b;
b = (t && ((i++) == 0));
b = (f && ((i+=2) > 0));
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
这种情况下的输出为1
2)
public static ShortCkt {
public static void main(String args[]) {
int i = 0;
boolean t = true;
boolean f = false, b;
b = (t & ((i++) == 0));
b = (f & ((i+=2) …Run Code Online (Sandbox Code Playgroud) 可能的重复:
Java中的逻辑运算符
|之间有什么区别?和|| 在Java中?
如标题所述,我需要知道&运算符和&&运算符之间的区别。谁能用简单的话帮助我。
在Delphi中,我可以使用布尔变量执行以下操作:
If NOT bValue then
begin
//do some stuff
end;
Run Code Online (Sandbox Code Playgroud)
Java中的等价物是否使用了!?
If !(bValue) {
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)