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
本文来自博客园,作者:藤原豆腐渣渣,转载请注明原文链接:https://www.cnblogs.com/javafufeng/p/16211775.html

浙公网安备 33010602011771号