逻辑运算符(&,|,^,!,&&,||)
int a = 10;
int b = 20;
int c = 30;
逻辑与 & 并且and 与false则false
System.out.println(a < b & b < c); true & true = true
System.out.println(a < b & b > c); true & false = false
System.out.println(a > b & b < c); false & true = false
System.out.println(a > b & b > c); false & false = false
逻辑或 | 或or 与true则true
System.out.println(a < b | b < c); true | true = true
System.out.println(a < b | b > c); true | false = true
System.out.println(a > b | b < c); false | true = true
System.out.println(a > b | b > c); false | false = false
逻辑异或 ^ 两边相同为false,两边不同为true
System.out.println(a < b ^ b < c); true ^ true = true
System.out.println(a < b ^ b > c); true ^ false = false
System.out.println(a > b ^ b < c); false ^ true = false
System.out.println(a > b ^ b > c); false ^ false = false
逻辑非 !
System.out.println(! true); false
System.out.println(! ! true); true
&& 与 & 的区别:
a:最终结果一样
b:&& 具有短路效果,左边是false,右边不执行。
|| 与 | 的区别:
a:最终结果一样
b:|| 具有短路效果,左边是true,右边不执行。