逻辑运算符:&&,||,! public class Demo1{ public static void main(String[] args) { boolean A = true; boolean B = false; System.out.println(" A && B = " + (A&&B) ); System.out.println(" A || B = " + (A||B) ); System.out.println(" !A = " + !A ); } } 结果如下: 在编程语言中,逻辑运算符和位运算符是两种重要的操作符,它们分别用于处理布尔逻辑和二进制数据的运算。本篇学习笔记主要探讨了这两种运算符的使用和特性。 逻辑运算符主要包括`&&`(逻辑与)、`||`(逻辑或)和`!`(逻辑非)。在Java等编程语言中,`&&`和`||`具有短路特性,即如果第一个操作数已经可以确定整个表达式的最终结果,那么就不会再计算第二个操作数。例如,在`A && B`中,如果`A`为`false`,则无论`B`是什么值,整个表达式都为`false`,因此不会计算`B`。同样,对于`A || B`,如果`A`为`true`,则不需要计算`B`的值,整个表达式就已知为`true`。`!`运算符则是用来反转布尔值,如`!A`会将`A`的真值翻转,如果`A`为`true`,`!A`则为`false`。 短路运算的一个示例是: ```java int A = 10; boolean B = (A < 9) && (A++ < 20); ``` 由于`(A < 9)`为`false`,所以`(A++ < 20)`不会执行,避免了不必要的计算。 接下来是位运算符,包括`&`(按位与)、`|`(按位或)、`^`(按位异或)、`~`(按位取反)、`<<`(左移)、`>>`(有符号右移)以及`>>>`(无符号右移)。这些运算符直接作用于二进制数据的每一位。 `&`运算符执行逐位与操作,只有当两个对应位都是1时,结果位才为1。例如,`0010 1101 & 0110 0111`的结果为`0010 0101`。 `|`运算符执行逐位或操作,当两个对应位中至少有一个为1时,结果位为1,如`0010 1101 | 0110 0111`的结果为`0110 1111`。 `^`运算符执行逐位异或,当两个对应位不同时结果为1,相同则为0,例如`0010 1101 ^ 0110 0111`的结果为`0100 1010`。 `~`运算符对每个位取反,如`0011 1010`取反后变为`1100 0101`。 `<<`运算符将二进制数左移指定的位数,低位补零。例如,`0000 1000 << 2`的结果为`0010 0000`,相当于数值`32`。 `>>`运算符将二进制数右移指定的位数,对于正数高位补0,负数高位补1。例如,`8 >> 2`的结果为`0000 0010`,即数值`2`。 `>>>`运算符(无符号右移)对所有数值类型,无论正负,右移时高位均补0。这在处理非负整数时很有用,因为它总是保持数值的正数性质。 了解这些运算符的特性对于编写高效代码至关重要,特别是在处理位掩码、数据编码或者底层系统操作时。在特定场景下,位运算符可以显著提高程序运行速度,因为它们直接操作二进制数据,减少了类型转换和条件判断带来的开销。然而,不恰当的使用可能会导致错误和难以理解的代码,因此需要谨慎使用。在实际编程中,应根据具体需求和性能要求选择合适的运算符。
- 粉丝: 7
- 资源: 904
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 白色风格的购物商城网站模板下载.zip
- 白色风格的后台管理模板整站下载.zip
- 白色风格的后台管理系统模板下载.rar
- 白色风格的生活社区网站模板下载.zip
- 白色风格的商务网站模板下载.rar
- 白色风格的手机网站模板下载.rar
- 白色风格的直播平台模板整站下载.zip
- 白色大气风格的商务会议活动模板下载.rar
- 白色大气风格的商务网站模板下载.rar
- 白色大气风格的商务团队公司模板下载.zip
- 白色大气风格的商业办公楼租赁模板下载.zip
- 白色大气风格的商业html5模板.zip
- 白色大气风格的商务英语学习培训网站模板.zip
- 白色大气风格的商业公司模板下载.zip
- 白色大气风格的商业代理公司模板下载.zip
- 白色大气风格的商业策划公司模板下载.zip
- 1
- 2
前往页