Java[探索](二)按位操作元素
来源:互联网 发布:基于java的2048小游戏 编辑:程序博客网 时间:2024/06/14 23:13
一:按位操作符是什么?
并最终生成一个结果。按位操作符来源于C语言面向底层的操作,那么什么是面向底层的操作呢?Java为什么要引入面向底层的操作符呢?
第一个问题:
这种操作经常直接操作硬件,设置硬件寄存器内的二进制位也就是它是直接操作整数基本类型中的单个“比特”的。按位操作符会对两个参数中对应的位执行布尔代数运算,
第二个问题:
我们知道Java的设计初衷是嵌入电视机顶盒内的,所以这种面向底层的操作仍被保留了下来,但是这种操作用的并不多
二 四种按位操作符
Java中共有四种按位操作符
1.按位“与”操作符(&)
如果两个输入位都是1,则按位“与”生成一个输出位1;否则生成一个输出位0.
2.按位或操作符(|)
如果两个输入位只有一个是1,则按位“或”操作符生成一个输出位1;只有在这两个输入位都是0的情况下,它才会生成一个输出位0.
3.按位“异或”操作符(^)
如果输入位有一个是1但不全是1,那么按位“异或“操作生成一个输出位1.否则生成一个输出位0
4.按位"非"操作符(~)
按位非是一个一元操作符,其他都是二元操作符,按位非也称为取反操作符,它的作用就是生成与输入位相反的值,若输入0则输出1,同样输入1,输出0
三 注意
1.按位操作符可以于等号联合使用(=),比如:&=、|=、^=,但是按位非(~)不可以
2.按位操作具有和逻辑操作符相同的效果,只是按位操作不会短路。
四 来一个Demo
package deme_one;public class ExerciseOne {public static void main(String [] args){System.out.println("于");new One().one();//与new One().two();//或new One().three();//异或new One().four();// 非}}/** * * @author Administrator * */class One{/** * 与 */void one(){int a=11;int b=12;System.out.println("**********************于***********************"); System.out.println(a&b); System.out.println(Integer.toBinaryString(a&b)); System.out.println(a&=b); System.out.println(Integer.toBinaryString(a&=b));}/** * 或 */void two(){System.out.println("**********************或***********************"); System.out.println(11|13); System.out.println(Integer.toBinaryString(11|13));}/** * 异或 */void three(){System.out.println("**********************异或***********************"); System.out.println(11^13); System.out.println(Integer.toBinaryString(11^13));}/** * 非 */void four(){System.out.println("**********************非***********************"); System.out.println(~11); System.out.println(Integer.toBinaryString(~11));}}
来看看运行结果:
1.a&=b什么意思呢?
a&=b 就是a=a&b;
2.Integer.toBinaryString什么意思?
它返回一个无符号的二进制的字符串
3.来分析下11&12的结果怎么会是1000呢?
11转换成二进制的结果就是1011,二12转成二进制是1100,根据运算只有两个位都是1结果才是1,故结果是1000.或,异或,非的运算方式类似。
- Java[探索](二)按位操作元素
- Java按位操作符
- Java 按位操作符
- Java 按位操作符
- java按位操作符
- 二位数组中元素的对调
- 二位数组元素的表示方法
- 关于java按位操作运算
- 关于java按位操作运算
- 关于java按位操作运算
- 关于java按位操作运算
- 关于java按位操作运算
- Java中的按位操作符
- Java 按位操作运算符
- Java的按位操作符
- 1.Java中的按位操作符
- Java: 位操作
- java位操作符
- Dijkstra 算法
- 第二章 什么是数据抽象
- Qt Creator的安装与Qt交叉编译的配置
- 第4章 数学运算
- java中访问权限的设置
- Java[探索](二)按位操作元素
- 立个flag
- Oracle数据库常用的5种锁定
- 06.25 如何判断数据类型
- 最简单的数据结构:线性表(一)
- Uva1593 代码对齐
- poj 图相关之3041 Asteroids
- MarkDown基础
- Redis 安装启动相关知识