&和&&的区别及!和~区别
来源:互联网 发布:阿尔法复制软件下载 编辑:程序博客网 时间:2024/06/10 11:04
&、|、~都是位操作符,而&&、|、~|都是逻辑操作!。
下面我们就分成三组对问题进行分析:分别是&和&&,|和||及~和!。
1.&是按位与操作,参加运算的两个数据按照二进制位进行“与”运算,如果两个相应的二进制位都为1,那该位的结果值就是1,否则为0,即0&0=0,0&1=0,1&1=1,1&0=0。
比如:3&5并不等于8,应该按位与,00000011&00000001=00000001。
&&是逻辑与运算符,我们这就不多说,直接看例子:a&&b,若a、b为真,则a&&b,否则就为假。
2.|是按位或操作,参加运算的两个数据按照二进制位进行“或”运算,如果两个相应的二进制位中只要有一个为1,则该位结果就是1,即为0|1=1、1|1=1、1|0=1、0|0=0。
||是逻辑或运算符,直接看意思,a||b,若a、b中有一个为真,则a||b结果为真。
3.~是一个单目运算符,用来对一个二进制位按位取反,即0变成1,1变成0,比如~00001111=11110000。
!是逻辑非运算符,我们还是直接来看他的意思,!a的意思是:若a为真,则!为假,若a为假则!a为真。
1 0
- &和&&的区别及!和~区别
- 重载和重写的编码区别及JVM编译区别
- PO和POJO的概念及区别
- timestamp和date及datetime的区别
- em和px的区别及转换
- HashMap和Hashtable及HashSet的区别
- HashMap和Hashtable及HashSet的区别
- LinkButton和HyperLink的区别及应用
- Struts1 和Struts2的区别及联系
- list和vector及deque的区别
- Ethernet和802.3的区别及历史
- DispatchAction和MappingDispatchAction的用法及区别
- useradd 和adduser的区别及用法
- ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext的区别及用法
- DbLookup()和DbColumn()的用法及区别?
- HashMap和Hashtable及HashSet的区别
- Criteria和Detachedcriteria的区别及应用
- URI和URL及URN的区别
- 程序员面试经典--用栈实现队列
- leetcode542. 01 Matrix
- LeetCode (1)Two Sum | LeetCode
- String类
- 回溯算法
- &和&&的区别及!和~区别
- Gradle构建web项目
- druid配置
- 使用MediaPlayer播放音乐文件
- 二叉搜索树转换为有序双向链表
- 重新起步。。。。。
- Activity has leaked ServiceConnection that was originally bound here
- jQuery和非jQuery下数据初始化
- 金银花和胖大海能一起泡水喝的吗?