逻辑与——&——都为true才为true,有一false就为false,符号两边都看
短路与——&&——都为true才为true,有一false就为false,前面有false就略后面
逻辑或——|——有一true就为true,符合两边都看
短路或——||——有一true就为true,前面有true就略后面
非——!——取反
逻辑异或——^——相同为false,异为true
逻辑与和短路与的测试(或相似)
public class JavaTest { public static void main(String[] args) { //逻辑与& boolean b1 = false; int num1 = 9; if (b1 & (num1++>0)){ System.out.println("&.1"); }else { System.out.println("&.2"); } System.out.println("num1=" + num1); //短路与&& boolean b2 = false; int num2 = 9; if (b2 && (num2++>0)){ System.out.println("&&.1"); }else { System.out.println("&&.2"); } System.out.println("num2=" + num2); } }
输出结果:
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写
成x>3 & x<6 。
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。