Java逻辑运算符中&&(短路与),&(与),||(短路或),|(或)。
1、&&与&
&&与&用于逻辑运算符时,如果两边条件都为真,则整体条件为真。
区别:
1、使用&时,当运算符左侧条件为假时,右侧条件依然会执行。
2、使用&&时,当运算符左侧条件为假时,则右侧条件不会执行。称为短路。
3、&可以用作位运算。
2、||与|
||与|用于逻辑判断时,如果两边条件有一个为真,则整体条件为真。
区别:
1、使用|时,当运算符左侧条件为真时,右侧条件依然会执行。
2、使用||时,当运算符左侧条件为真时,右侧条件不会执行。称为短路。
3、|可以用作位运算。
代码实例:
public class Operator {
public static void main(String[] args) {
/*
* &&,&
* */
int a = 0;
if(false && (a++)>0){
}else{
System.out.println("使用&&a的值:" + a);
}
if(false & (a++)>0){
}else{
System.out.println("使用&时a的值:" + a);
}
/*
* ||,|
* */
int b = 0;
if(true || (b++)>0){
System.out.println("使用||时b的值:" + b);
}
if(true | (b++)>0){
System.out.println("使用|时b的值:" + b);
}
}
}
运行结果为:
使用&&a的值:0
使用&时a的值:1
使用||时b的值:0
使用|时b的值:1
可以观察到,使用&&和||发生了短路,第二个条件没有执行,a和b的值没有发生变化。使用&和|时,第二个条件执行,a和b都加1。
——THE END——