【java从入门到精通】day-07-逻辑运算符-位运算符-条件运算符-扩展赋值运算符

  • 逻辑与(&&)、或(||)、非(!)

示例:

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:"+(a||b));//逻辑“或”运算:两个变量有一个为真,则结果才为true
       System.out.println("!(a && b):"+!(a&&b));//逻辑“非”运算:取反

       //短路运算
       int c = 5;
       boolean d = (c<4)&&(c++<4);
       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 //异或运算,不同为1
        ~B = 1111 0010 //位非运算

        面试题:如何快速计算2*8?
        分析:2*8 = 16 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);
  }
}

 

  • 扩展赋值运算符:+=,-=,*=,/=

package operator;

public class Demo07 {
   public static void main(String[] args) {
       int a = 10;
       int b = 20;

       a+=b;//等同于 a = a +b
       a-=b;//等同于 a = a -b

       System.out.println(a); //输出结果10

       //字符串连接符 + String
       System.out.println(a+b);//输出结果30
       System.out.println(""+a+b);//输出结果1020
       System.out.println(a+b+"");//输出结果30
  }
}

 

 

  • 条件运算符?:

package operator;

public class Demo08 {
   public static void main(String[] args) {
       //三元运算符 x ? y :Z,即如果x==true,则结果为y,否则结果为z
       int score = 50;
       String type = score < 60 ?"不及格":"及格";//输出结果“不及格”;必须掌握,类似if语句
       System.out.println(type);
  }

}

 

 

 

posted @ 2020-10-27 11:22  啊健best  阅读(56)  评论(0)    收藏  举报