位运算符

  &&(短路与/双与)

双与和单与的相同点和不同点:

相同点:短路与和单与运算的结果是一样的。

不同点:使用短路与的时候,如果左边的布尔表达式结果为false,那么后面的布尔表达式就不会再去运算了。从而提高了效率。

使用单与的时候,如果左边的布尔表达式的结果为false,还是会运算后面的布尔表达式。

System.out.println(true&&true);

System.out.println(false&&true);

System.out.println(false&&false);

System.out.println(true&&false);

位运算符

 

 如果布尔表达式左边的结果false的时候那么双与的效率高于单与。

   ||(短路或/双或)

短路或与单或的相同点与不同点:

  相同点:运算的结果一致。

  不同点:使用短路或的时候,当发现左边的布尔表达式为true的时候,则不会运算后面的布尔表达式。

使用单或的时候发现左边布尔表达式为true的时候,还是会运算后面的布尔表达式

System.out.println(true||true);

System.out.println(false||true);

System.out.println(false||false);

System.out.println(true||false);

位运算符

 

 位运算符:(位运算符就是操作二进制位的)

  &  (与)

 

  |  (或)

  ^  (异或)

规律:如果一个操作数A连续异或同一个操作数,那么结果还是操作数A。

  ~  (取反)

位运算符

 

 位运算符的笔试题目:

  1.交换两个变量的值,不准出现第三方变量

1,

  int a = 3;

  int b = 5;

第一种方法:  定义第三方变量。

   int temp = a;  //a=3,

  a = b;  //a = 5

  b = a;  //把temp的值赋予给b,b = 3.

方法2:相加法, 缺点:  两个int类型相加,值可能超出int类型的表达范围。

  a = a+b;  //a = 8

  b = a -b;  //b = 3,8-5

  a = a -b;  //a = 5  8-3

方法3:可以使用异或.  缺点:逻辑不够清晰

  a = a^b  /a = 3^5

  b = a^b  //b = (3^5)^5 = 3

  a = a^b  //a = (5^3)^3 = 5

位运算符

 

 2,取出一个二进制数据的指定位数。要求读取二进制数据的低四位。

    00000000-00000000-00010100-01001101

&    00000000-00000000-00000000-00001111

————————————————————————————

    00000000-00000000-00000000-00001101

 

上一篇:「计算机基础」在0和1的世界里来来回回


下一篇:Photoshop install