逻辑与——&——都为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 。
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。