java学习笔记(一)----位运算符与逻辑运算符
来源:互联网 发布:淘宝b2c还是c2c 编辑:程序博客网 时间:2024/05/24 01:46
一、位运算符
&是按位与运算符,它运算规则是“两位都是1结果取1,其他情况都取0”。
例如 0&0=0 0&1=0 1&0=0 1&1=1
特殊作用
1)清零 X&0000 0000 = 0000 0000
2)取指定位 对应要取的位的值为1 其余为0 例如 取前4位: 1010 1010 & 1111 0000 = 1010 0000
|是按位或运算符,它的运算规则是“两位都是0结果取0,其他情况都取1”。
例如 0|0=0 0|1=1 1|0=1 1|1=1
特殊作用
置1 对应要置1的位的值为1 其余为0 例如 置后4位为1: 1010 0000 | 0000 1111 = 1010 1111
^是异或运算符,它的运算规则是“两位相同为0,相异为1”。
例如 0^0=0 0^1=1 1^0=1 1^1=0
特殊作用
1)按位取反 对应要取反的位的值为1 其余为0 例如 对后四位取反:1010 1010 ^ 0000 1111 = 1010 0101
2)保留原值 对应位的值全位0 例如 1010 1010 ^ 0000 0000 = 1010 1010
~是取反运算符,它的运算规则是“按位取反”
例如 ~0=1 ~1=0
特殊作用
置最后一位为0: 1111 1001 & ~1 = 1111 1000
<<是左移运算符,将运算对象的一个二进制位全部左移若干位,左边的二进制位舍弃,右边的二进制位补0,若左移时高位不包含1,则每左移一位,相当于该数乘以2
例如 1010 1111 << 2 = 1011 1100
>>是右移意运算符,将运算对象的一个二进制位全部右移若干位,正数左补0,负数左补1,右边的二进制位舍弃,右移一位相当于该数除以2
例如 1010 1111 >> 2 = 1011 1100
>>>是无符号右移运算符,将运算对象的一个二进制位全部右移若干位,左边补0,右边的二进制位舍弃
对于不同长度的数据进行位运算系统会将两个数的右端对其,然后进行位运算。左边不足的位按照下面的规则进行补足:
1)如果数据为正数,左边补0
2)如果数据为负数,左边补1
3)如果数据为无符号数,左边补0
二、逻辑运算符
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于
&& 而且 (And)
and 而且 (And)
|| 或者 (Or)
or 或者 (Or)
xor 异或 (Xor)
! 非 (Not)
对于and or xor 的比较
.............And.......Or.........Xor
0......0.....0.........0...........0
1......0.....0.........1...........1
0......1.....0.........1...........1
1......1.....1.........1...........0
简单的说
And:同为真时为真
Or:同为假时为假
Xor:相同为假
&是按位与运算符,它运算规则是“两位都是1结果取1,其他情况都取0”。
例如 0&0=0 0&1=0 1&0=0 1&1=1
特殊作用
1)清零 X&0000 0000 = 0000 0000
2)取指定位 对应要取的位的值为1 其余为0 例如 取前4位: 1010 1010 & 1111 0000 = 1010 0000
|是按位或运算符,它的运算规则是“两位都是0结果取0,其他情况都取1”。
例如 0|0=0 0|1=1 1|0=1 1|1=1
特殊作用
置1 对应要置1的位的值为1 其余为0 例如 置后4位为1: 1010 0000 | 0000 1111 = 1010 1111
^是异或运算符,它的运算规则是“两位相同为0,相异为1”。
例如 0^0=0 0^1=1 1^0=1 1^1=0
特殊作用
1)按位取反 对应要取反的位的值为1 其余为0 例如 对后四位取反:1010 1010 ^ 0000 1111 = 1010 0101
2)保留原值 对应位的值全位0 例如 1010 1010 ^ 0000 0000 = 1010 1010
~是取反运算符,它的运算规则是“按位取反”
例如 ~0=1 ~1=0
特殊作用
置最后一位为0: 1111 1001 & ~1 = 1111 1000
<<是左移运算符,将运算对象的一个二进制位全部左移若干位,左边的二进制位舍弃,右边的二进制位补0,若左移时高位不包含1,则每左移一位,相当于该数乘以2
例如 1010 1111 << 2 = 1011 1100
>>是右移意运算符,将运算对象的一个二进制位全部右移若干位,正数左补0,负数左补1,右边的二进制位舍弃,右移一位相当于该数除以2
例如 1010 1111 >> 2 = 1011 1100
>>>是无符号右移运算符,将运算对象的一个二进制位全部右移若干位,左边补0,右边的二进制位舍弃
对于不同长度的数据进行位运算系统会将两个数的右端对其,然后进行位运算。左边不足的位按照下面的规则进行补足:
1)如果数据为正数,左边补0
2)如果数据为负数,左边补1
3)如果数据为无符号数,左边补0
二、逻辑运算符
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于
&& 而且 (And)
and 而且 (And)
|| 或者 (Or)
or 或者 (Or)
xor 异或 (Xor)
! 非 (Not)
对于and or xor 的比较
.............And.......Or.........Xor
0......0.....0.........0...........0
1......0.....0.........1...........1
0......1.....0.........1...........1
1......1.....1.........1...........0
简单的说
And:同为真时为真
Or:同为假时为假
Xor:相同为假
- java学习笔记(一)----位运算符与逻辑运算符
- java中的逻辑运算符与位运算符
- java中位运算符与逻辑运算符
- java:位运算与逻辑运算
- Java学习提要——逻辑运算符与位运算符
- Java学习笔记一:逻辑运算符
- 逻辑运算符与位运算符
- 位运算符与逻辑运算符
- 逻辑运算符与位运算符
- 逻辑运算符&&、||与&、| 位运算符
- 逻辑运算:按位与运算符
- 逻辑运算符 或 与 非 位运算
- java逻辑运算符位运算符总结
- Java学习-算术运算符-赋值运算符-逻辑运算符-位运算符
- Java学习基础:运算符和表达式(算数运算、关系运算、逻辑运算、位运算、条件运算、赋值运算)
- 【Java学习笔记】移位运算符和逻辑运算符
- MySQL学习----MySQL 算术运算符----08MySQL 逻辑运算符与位运算符
- Java 逻辑运算符、按位运算符、移位运算符
- HDU 2768 Cat vs Dog(最大独立集)
- Js实现Map功能
- 百度谷歌搜索引擎参数详解
- 【转】50个必备的实用jQuery代码段
- 集中管理SQL Server Event Logs
- java学习笔记(一)----位运算符与逻辑运算符
- JNDI 在 J2EE 中的角色
- ASP.NET2.0 绑定数据字段字符串格式
- 【推荐】关于JS中的constructor与prototype【转】
- 流
- Static与函数指针
- png图片在ie6中不兼容,在ie6中有灰色块解决方案
- 如何处理SQL Server死锁问题
- ASP.NET系统开发(一):层层递进之SQLHelper助手类的持续优化 .