其他运算符(课本上看下分类要分清楚是哪一类):
算数 | 关系 | 逻辑 | 位运算 | 赋值 | 条件 | 其他 |
+. -. * ./ . %
++. -- | > . < .>=.<=. ==. != | && . || .& .| .!(布尔型) | >>.<<.>>> &.|.^.~ (对二进制进行操作) | = .+=./=…… | ?.....: 例如: 5>3?a:b 结果:a 5>3满足选择第一个 | 下标运算符[] 实例instanceof 内存分配new 方法调用() |
1.&和|在 逻辑运算符和位运算符中是不一样的!
2.
| 逻辑中的结果 | 位运算中的结果 |
520 | 1314 | true | 1834(怎样算出来的在下面) |
| !a | ~a |
| 0为false,非0 true |
|
位运算符
位运算符 | 功能 | 表达式 |
~ (not) | 按位取反 | ~a |
<< (shl左lift) ,>>(shr右right) | a的二进制按位左(右)移b位 | a<<b |
& (and) | 按位与 | a&b |
^ (xor) | 按位异或 | a^b |
| (or) | 按位或 | a | b |
&=,^=,|=,<<=,>>= | 略 |
|
>>> (-) | 略 |
|
|
|
|
那个0是补上的
2.a<<b (左移乘) | 将a转为2进制在后面添b个零 (如果a为二进制则不用转换) | |
3. a>>b (右移除) | 将a转为2进制在后面去掉b个位 (如果a为二进制则不用转换) | |
4. a&b | 将a,b都转为二进制进行与运算(乘*结果是一填一,结果是零填零) | |
5. a | b | 将a,b都转为二进制进行或运算(加+结果大于等于一填一,结果是零填零) | |
6. a^b | 将a,b都转为二进制进行异或运算(同零不同一) |
2.
3.
4.
5.
6.