Java的逻辑运算符 短路运算符 位移运算符

逻辑运算符
符号 名称  描述
& 逻辑与 a&b,a和b都为true,结果为true,否则结果为false
| 逻辑或 a|B,a和b都为false,结果为false,否则结果为true
^ 逻辑异或 a^b,a和b的布尔值不同,结果为true,否则结果为false
! 逻辑非 !a,!a与a的值相反

 

 

短路逻辑运算符
符号  名称 描述
&& 短路与 功能与上述的逻辑运算符&一样,但是&&具有短路作用
|| 短路或 功能与上述的逻辑运算符|一样,但是||具有短路作用

注意:

  (1)逻辑与&,左边值无论真假,右边都得计算

  (2)短路与&&,如果左边的值为真,则右边会执行;如果左边值为假,则短路与右边不会计算

  (3)逻辑或|,左边值无论真假,右边都得计算

  (4)短路或||,如果左边的值为假,则右边的会执行;如果左边值为真,则短路或右边不会计算

 

位移运算符
符号 名称 描述
<< 左移 "a<<b",将二进制形式的a向左逐位移动b位,最低位空出的b位补0
>> 右移 “a>>b”,将二进制形式的a向右逐位移动b位,最高位空出的b位补符号位
>>> 无符号右移 "a>>>b",将二进制形式的a向右逐位移动b位,最高位空出的b位补0

 

注意:位运算效率高。举例:计算2*8的结果,可以使用  2<<3 实现。

 

面试题:创建整型变量 a =1 ; b=2,在不使用第三个变量的情况下,交换a和b的值

    a = a+b

    b = a-b

    a = a-b

    

posted @ 2022-04-30 23:12  藤原豆腐渣渣  阅读(78)  评论(0)    收藏  举报