问题1:
关于逻辑与“&”和条件与“&&”比起来我觉得逻辑与“&”好象没什么用处,无非是当第一个条件为false时还会将第二个条件运行一次,可是这有什么
用啊?我还觉得这么做浪费资源呢??问题2:
逻辑或“|”和条件或“||”这两个好象连功能上区别都没有吧,那要逻辑或“|”用来干吗??
关于逻辑与“&”和条件与“&&”比起来我觉得逻辑与“&”好象没什么用处,无非是当第一个条件为false时还会将第二个条件运行一次,可是这有什么
用啊?我还觉得这么做浪费资源呢??问题2:
逻辑或“|”和条件或“||”这两个好象连功能上区别都没有吧,那要逻辑或“|”用来干吗??
&&和||是逻辑运算符!
public static String test(String s) {
if (s == null || s.length == 0) return "empty";
return s;
}
和
public static String test(String s) {
if (s == null | s.length == 0) return "empty";
return s;
}
一样吗?
&& 当左边为假的时候就不再判断右边
同理
实际上楼主还漏了一个 ^ 布尔异或,这个在逻辑运算符中是不存在的。布尔运算符与等号可以组成布尔赋值运算符:boolean b = true;
boolean c = false;
b &= c;
b |= c;
b ^= c;可以这么说,布尔运算符执行的是运算过程,而逻辑运算符执行的是逻辑判断过程。
也正因为如此,布尔运算符得计算两边所有的表达式,而逻辑运算符只是作为逻辑
判断,在 && 判断时,左边为 false 时,就已经得出了判断结果,就不需要再去
计算右边的表达式了。另外,在运算符的优先级别上,布尔运算符的优先级别高于逻辑运算符。
“&”也可做条件用,它不管在什么条件下两边的判断都要进行,“&&”如过第一个条件判断为假第二个判断就不进行了,“&”也不能说没用,如果你要在条件中进行某些代码操作的还是有用的(为简化代码用),一般情况下我没都是用“&&”
&&和 ¦ ¦是逻辑运算符!