逻辑运算符
& | && || !
进行逻辑运算 左右连接的都是布尔类型的操作数 运算结果要么是true 要么是false
& 与 只要有一个操作数是false 则结果就是false
&& 短路与 效率高 第一个表达式是false 那么第二个表达式就不用计算了 结果一定是false
| 或 操作数只要有一个是true 则运算结果就是true
|| 短路或 效率高 只要第一个表达式是true 那么第二个表达式就不用计算了 结果一定是true
!非 相反结果
^ 异或 如果两个操作数一样 结果为false 不一样为true
条件运算符 又称三元运算符 三目运算符
a?b:c
a是一个布尔类型的表达式 返回结果要么是true 要么是false 通过a的结果 决定最终表达式的结果
如果a的结果是true 则返回b
如果a的结果是false 则返回c
位运算符
& ^ | ~ >> << >>>
如何区分逻辑运算符和位运算符
逻辑运算符 左右连接的是布尔类型的操作数
位运算符 左右连接的是具体的数值
ps 求一个负数的值
我们已知正数求他的负数是采用二进制的运算方式 先去反码 再+1 就是该正数的负数形式
所以 我们已知一个负数的形式 却不知道它的值 可以反过来求 先-1 再取反码 得到一个正数 加上负号 就是该负数的值