Java学习笔记11

逻辑运算符 位运算符

逻辑运算

public class Demo05 {
  //逻辑运算符 && ,||, !
  //与(and)   或(or)   非(取反)
  public static void main(String[] args) {
      boolean a = true;
      boolean b = false;
      System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真
      System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为真
      System.out.println("! (a && b):"+!(a&&b));//逻辑非运算,如果是真则为假,如果是假,则为真
       
       
a && b:false
a || b:true
! (a && b):true

      //短路运算
      int c = 5;
      boolean d = (c<4)&&(c++<4);
      System.out.println(d);
      System.out.println(c);//与运算c<4为错将不执行后面(c++<4)
       
false
5
  }
}

位运算(与二进制有关)

&, | ,! ,^(与,或,非,异或)

《 (左移) *2

》(右移) /2

public class Demo06 {
  public static void main(String[] args) {
      /*
      A = 0011 1100
      B = 0000 1101
      A&B=0000 1100 当都为1结果为1其余都为0
      A|B=0011 1101 只要有1结果为1
      (异或)A^B=0011 0001 只有一个1的情况下才为1
      ~B= 1111 0010 与B结果相反
        */
      System.out.println(2<<3);
      /*
      2*8=16   2*2*2*2
      0000 0000   0
      0000 0001   1
      0000 0010   2
      0000 1000   8
      0001 0000   16   2左移三位得到16
        */
       
       
        16
posted @ 2022-04-08 14:42  新人用户  阅读(29)  评论(0)    收藏  举报