public class luoji {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("与\t" + (a & b));//与
System.out.println("或\t" + (a | b));//或
System.out.println("异或\t" + (a ^ b));//异或
System.out.println("非\t" + (!a));//非
///短路与和或的特性
boolean c = 1 > 2 && (4 < 3 / 0);
System.out.println("短路与\t" + c);
int wrong = 3 / 0;//语句报错
}
}
代码结果如下
很自然的发现与、或、异或、非的差别
&(与):有一输入为假,则结果为假;&&(短路与):只要左侧运算结果为假,则不用计算右侧结果,直接输出假——提高运算效率
|(或):有一输入为真,则结果为真;||(短路或):只要左侧运算结果为真,不用计算右侧结果,直接输出真——提高运算效率
!(非):输入真,结果为假;输入假,结果为真
^(异或):有一输入为假,则结果为真
并且通过代码最后一句3/0的报错可以看出短路与的特性,短路或与之类似不再赘述