这一块刚开始学还记得挺头疼,过了两天就好多了,也写在这里吧
先写下看尚硅谷视频记得笔记
逻辑运算符只适用于boolean类型
&与&&运算结果相同
当符号左边是true时,两者都会执行后面语句,
当符号左边是false时,&继续执行,&&不继续执行。
|与||运算结果相同
当符号左边是false时,两者都会执行后面语句,
当符号左边是true时,|继续执行,||不继续执行。
开发中推荐使用短路与、短路或
下面通过代码来演示一下区别
System.out.println("逻辑计算");
int a=1,d=1,e=1,f=1;
boolean b=true;
boolean c=false;
准备好几个变量,先看看&运算
if(c & a++>0){
System.out.println("Y");
}else {System.out.println("N");
}
System.out.println(a);
&左边c为false,根据定义后面语句继续执行,a++=2.所以运行结果是
N
2
再看下面这个&&运算
if(c && d++>0){
System.out.println("Y");
}else {System.out.println("N");
}
System.out.println(d);
&&左边c为false,根据定义后面语句不执行,所以运行结果是
N
1
再来看看|运算
if(b | e++>0){
System.out.println("Y");
}else {System.out.println("N");
}
System.out.println(e);
|左边b为true,根据定义后面语句继续执行,所以运行结果是
Y
2
还有||运算
if(b || f++>0){
System.out.println("Y");
}else {System.out.println("N");
}
System.out.println(f);
||左边b为true,根据定义后面语句不执行,所以运行结果是
Y
1