逻辑运算符(Java中)有四类:
&&(短路与),&
||(短路或), |
短路与是JAVA语言中的一个逻辑运算符,记作&&,与编程语言中的与逻辑相似,但具有短路性质。
符号为:&&。
A&&B, 当A为false时,不去计算B的值而直接返回false;当A为true时,计算B的值。(来自百度百科)
而A&B,需要计算A和B的值才会返回值。
简单的来说:
&&和&都是表示与,区别是&&若第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。
例1
public class Demo{
public static void main(String[] args) {
int i = 4;
if ((i++ > 6) & (i++ < 9)) {
System.out.println(i);
System.out.println("if为真");
}
System.out.println(i);
}
}
运行结果为 : 6
因为 i 自加两次。
例2:
public class Demo{
public static void main(String[] args) {
int i = 4;
if ((i++ > 6) && (i++ < 9)) {
System.out.println(i);
System.out.println("if为真");
}
System.out.println(i);
}
}
运行结果为 : 5
因为 i 自加一次。
同理,| 和 || 也是类似情况。
百度百科:
短路或是JAVA语言中的一个逻辑运算符,记作||。所谓短路,即在第一项为true的情况下,不再进行第二项的判断。
a||b:只有a与b都为false,结果才为false;有一个为true,结果为true。
简单的来说:
|| 和|| 若第一个条件不满足,后面条件就不再判断。而 | 要对所有的条件都进行判断。