位运算符用来对二进制位进行操作,分为左移位操作和右移位操作。

左移位运算符

●左移位运算的符号为<

●特点

◆是双目运算符。

◆操作元必须是整型类型的数据。

●左位移的过程

◆假设a是一个被移位的整型数据,n是位移量。

◆a<

◆比如:对整形数 8<<1的计算

8的二进制表示: 0000,0000,0000,0000,0000,0000,0000,1000

左移一位的结果:0000,0000,0000,0000,0000,0000,0001,0000

●注意

◆左位移操作是对整型数的操作,操作符两边必须是整型。

◆比整型更小的数据类型数据将被转换成整型进行运算,比整型更大的数据类型数据是不能进行移位运算的。

◆比整型更小的数据类型数据将被转换成整型时:对于正数将高位用0填充;负数将高位用1填充。

◆例:

byte a = -8;

System.out.println(a<<2);

结果:-32

1111,1111,1111,1111,1111,1111,1111,1000

1111,1111,1111,1111,1111,1111,1110,0000

◆在进行a<

★如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a<

★对于long型数据,系统总是先计算出n%64的结果m,然后进行a<

★比如:

对于int数 5<<1与5<<33的结果相等;

对于long数 5<<1与5<<65的结果相等。

右移位运算符

右移位运算的符号为>>,右移位运算符左面的操作元称作被移位数,右面的操作数称作移位量。

●特点

◆是双目运算符。

◆操作元必须是整型类型的数据。

●右位移的过程

◆假设a是一个被移位的整型数据,n是位移量。

◆a>>n运算的过程是通过将a的所有位都右移n位,每右移一个位,右边的最低位(即右边的第1位)上的0或1被移出丢弃,并用0或1填充左边的高位(a是正数时用0填充,负数时用1填充)。

◆比如:对整形数 8>>1的计算

8的二进制表示: 0000,0000,0000,0000,0000,0000,0000,1000

右移一位的结果:0000,0000,0000,0000,0000,0000,0000,0100

●注意

◆右位移操作是对整型数的操作,操作符两边必须是整型。

◆比整型更小的数据类型数据将被转换成整型进行运算,比整型更大的数据类型数据是不能进行移位运算的。

◆比整型更小的数据类型数据将被转换成整型时:对于正数将高位用0填充;负数将高位用1填充。

◆例:

byte a = -8;

System.out.println(a>>2);

结果:-2

1111,1111,1111,1111,1111,1111,1111,1000

1111,1111,1111,1111,1111,1111,1111,1110

◆在进行a>>n运算时

★如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a>>m运算。

★对于long型数据,系统总是先计算出n%64的结果m,然后进行a>>m运算。

★比如:

对于int数 5>>1与5>>33的结果相等;

对于long数 5>>1与5>>65的结果相等。

java如何使用移位运算符_JAVA移位运算符使用教程相关推荐

  1. java int 运算符_Java 位运算符和 int 类型的实现

    Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.=.<= # 逻辑运算符 && ...

  2. java中的位移运算符_Java 位移运算符

    本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1.概述 Java 位移运算符是Java中基本的位运算操 ...

  3. java自定义封装一个方法_Java自定义套件封装教程

    Java自定义套件封装教程 时间:2017-07-28     来源:华清远见JAVA学院 各位亲爱的小伙伴们大家好,近很多伙伴都问我该怎么做Java自定义套件封装,今天华清Java学院小编在这里做了 ...

  4. java右移位怎么算_Java移位运算符

    一 描述 < >>:右移运算符(算术右移),如果数字为正数时,移位后在前面补0,为负数时,则在前面补1: >>>:无符号右移运算符(逻辑右移),忽略符号,空位补0即 ...

  5. java里面的 |运算符_Java 中 | ^ 运算符的简单使用

    背景 今天碰到了代码中的按位与运算,复习一下,先列一个各个进制数据表. 顺便复习一下十进制转二进制的计算方式: 接下来解释下这三个运算符: & 按位与,都转为二进制的情况下,同为1则为1,否则 ...

  6. java三元表达式必须返回_java – 三元运算符的右手表达式必须兼容...

    您的方法声明返回类型是String.任何return语句都必须生成一个与声明的返回类型兼容的表达式. 但是,在这种情况下,返回类型可以是int,这解释了编译器拒绝它的原因. 这不是特定于三元运算符的, ...

  7. java中关系运算符_Java 关系运算符

    Java中的关系运算符有六种:小于(),大于等于(>=),等于(= =),不等于(!=) 其中,只有 = = 和!=可以作用于所有基本型别身上,其它四种不可以作用于boolean型别. 特别注意 ...

  8. java中关系运算符_Java关系运算符

    Java关系运算符 java里的关系运算符有这么几种:大于(>).小于(=).小于等于(<=),他们运算的结果是个boolean值,关系式成立为true,不成立为false. 运算符分类 ...

  9. java instanceof运算符_Java instanceof 运算符的使用方法

    用法: (类型变量 instanceof 类|接口) 作用: instanceof 操作符用于判断前面的对象是否是后面的类,或者其子类.实现类的实例.如果是则返回true 否则就返回false. 注意 ...

  10. java之三元运算符_Java三元运算符

    三元运算符他属于流程控制语句方面,他的声明方式: ?:一个问号和冒号,问号前面写条件,问号后面写 值,冒号后面也是写值.什么是条件呢?不管你用什么方法,只要你能够让得出来的结果是false或true那 ...

最新文章

  1. Python编程基础:第四十四节 方法重写Method Overriding
  2. Linux下怎么确定Nginx安装目录
  3. 彩色笔记 android,彩色笔记V4.1.0-彩色笔记下载 - Iefans
  4. resin常见有关问题
  5. java集成lucene_将Lucene搜索集成到应用程序中
  6. 小程序 移植 云开发_使用Kubernetes探索跨云的应用程序可移植性
  7. 吴恩达机器学习练习2:optimset和fminunc函数
  8. linux虚拟智能系统下载,RT-Thread v2.1.0alpha 技术预览,智能设备操作系统
  9. 人脸对齐(二十)--PRN
  10. Lucene学习入门——核心类API
  11. Atitit 解析m4a文件的元数据标签音乐名,歌手 专辑 年代等信息 java版本 目录 1.1. 自己解析mp4 m4a结构 1 1.2. 格式返回 1 1.3. /bookmarksHtmlE
  12. 关于Teigha的使用记录
  13. 百度搜索查找关键词技巧-信息收集能力
  14. 我的计算机连不上键盘,键盘插上电脑却没反应怎么解决?
  15. 《东周列国志》第三十六回 晋吕郤夜焚公宫 秦穆公再平晋乱
  16. WSTMart开发文档
  17. 我的世界java最低配置要求,我的世界需要什么配置
  18. 有哪些好用的读书笔记app
  19. 下载学习通上的文档、课件
  20. 苹果手机怎么在照片上添加文字_要给照片快速添加文字、图框、印章,用这款手机软件比较方便...

热门文章

  1. 永磁同步电机模型之坐标变换
  2. 使用PMSM控制的puma560机械臂简单轨迹跟踪
  3. python制作奖状,从excel表格中导出数据,取前20名,做成png奖状,再放入ppt中
  4. android 桌面小插件下载地址,桌面小组件app下载
  5. matlab画图线形
  6. Android自定义View实战:影院在线选座
  7. 【MapGIS精品教程】005:MapGIS中间件的配置与使用
  8. jic标准_美标JIC是什么螺纹
  9. div+js写弹出框
  10. SMI-FGSM:空间动量提高对抗迁移性