逻辑运算符

package operator;

public class Demo05 {
public static void main(String[] args) {
// 与 (and) 或(or) 非(取反)
boolean a = true;
boolean b = false;

    System.out.println("a && b: "+(a&&b));//逻辑与运算: 两个变量都为真, 结果才为true
    System.out.println("a || b: "+(b||a));//逻辑或运算: 两个变量有一个为真, 结果才为true
    System.out.println("!(a && b): "+!(b&&a));//如果是真, 则变为假, 如果是假则变为真


    //短路运算
    int c = 5;
    boolean d = (c < 4)&&(c++ < 4);//(c < 4)为假所以不在往下计算,没有执行c++ 自增故c还为5
    System.out.println(d);
    System.out.println(c);
}

}
package operator;

public class Demo06 {
public static void main(String[] args) {

    /*
    A = 0011 1100
    B = 0000 1101
    --------------------------
    A&B = 0000 1100
    A|B = 0011 1101
    A^B = 0011 0001
    ~B = 1111 0010

    2*8 = 16    2*2*2*2
    效率极高
    <<   *2
    >>   /2


    0000 0000          0
    0000 0001          1
    0000 0010          2
    0000 0011          3
    0000 0100          4
    0000 1000          8
    0001 0000          16

    */

    System.out.println(2<<3);
}

}

上一篇:逻辑运算符:&&(与), ||(或), ^(异或)


下一篇:实验1:SDN拓扑实践