一、逻辑与和短路与,如果有假则为假,如果两个都为真则为真
二、短路或(||)和逻辑或(|),有真必为真,全假则为假
三、两者的区别
逻辑与/或不管怎样前后都会判断,短路与/或从左向右判断出现真则不再判断后面的部分
-
定义
-
逻辑运算符关联两个boolean结果, 结果还是一个boolean值
-
-
分类
-
& : 同时 true & true = true true & false = flase
-
| : 或 true| true = true true | false = true false | false = false
-
^ : 异或(相同为假不同为真) true ^ true = false false ^ false = false rue ^ false = true
-
! : 非 !true = false !false = true
-
&& : 同时, 短路与, 两遍只要有一边的值为fasle , 虚拟机就不会再查看另外一边了
-
|| : 或, 短路或, 两边只要有一遍的值为true, 虚拟机就不会再查看另外一边
-
短路与和短路或运算符前后是否都执行, 主要看第一个条件
-
public static void main(String[] args) {
boolean b ;
//& 同时
b = true&true;
System.out.println(b);
b = true&false;
System.out.println(b);
// | 或者
b = true | false;
System.out.println(b);
b = false | false;
System.out.println(b);
// ^ 异或, 相同为假 不同为真
b = true ^ true;
System.out.println(b);
b = true ^ false;
System.out.println(b);
// ! 非 非真即假,非假即真
b = !true;
System.out.println(b);
b = !false;
System.out.println(b);
// && 同时 如果前边是false, 后面就不再验证
b = false && true;
System.out.println(b);
// || 或者 如果前边是true ,后面就不再验证了
b = true || false;
System.out.println(b);
}