参考文献(转自):

<<      :     左移运算符,num << 1,相当于num乘以2

>>      :     右移运算符,num >> 1,相当于num除以2

>>>    :     无符号右移,忽略符号位,空位都以0补齐

number 二进制: 1010 十进制:10 原始数

number = number << 1; 二进制:10100 十进制:20 左移一位的结果

number = number >> 1; 二进制: 1010 十进制:10 右移一位的结果

注意理解:是结果相当于,并非等于。

================================分割线=================

以下是位运算的知识:

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。

1.与运算符

与运算符用符号“&”表示,其使用规律如下:

两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。

public class data13

{

public static void main(String[] args)

{

int a=129;

int b=128;

System.out.println("a 和b 与的结果是:"+(a&b));

}

}

运行结果

a 和b 与的结果是:128

下面分析这个程序:

“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。

2.或运算符

或运算符用符号“|”表示,其运算规律如下:

两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。

public class data14

{

public static void main(String[] args)

{

int a=129;

int b=128;

System.out.println("a 和b 或的结果是:"+(a|b));

}

}

运行结果

a 和b 或的结果是:129

下面分析这个程序段:

a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

3.非运算符

非运算符用符号“~”表示,其运算规律如下:

如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。

public class data15

{

public static void main(String[] args)

{

int a=2;

System.out.println("a 非的结果是:"+(~a));

}

}

4.异或运算符

异或运算符是用符号“^”表示的,其运算规律是:

两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。

public class data16

{

public static void main(String[] args)

{

int a=15;

int b=2;

System.out.println("a 与 b 异或的结果是:"+(a^b));

}

}

运行结果

a 与 b 异或的结果是:13

分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。

java移位运算符有哪些_java中有三种移位运算符相关推荐

  1. java比较字符引用地址_java中的比较运算符== 与 equals()方法

    初学JAVA的时候对这两种比较方式也有疑惑,趁着现在整理一下自己的理解. JAVA中变量分为两类,一类是值类型,它储存的是变量真正的值,比如基础数据类型,值类型储存在内存的栈中:一类是引用类型,他们储 ...

  2. java 偏移符号_java中的移位运算符总结

    java中的移位运算符:<>,>>>总结 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> ...

  3. java右移位_java中的移位运算符:,,总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. java中有三种移位运算符

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  5. java里有位移吗_Java 中位移运算符 ,,

    Java 中的三种位移运算符 java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     ...

  6. java中 移位运算_java中关于移位运算符的demo与总结(推荐)

    首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0 ...

  7. JAVA中常用的逻辑运算符_Java中常用的运算符

    运算符是一种"功能"符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运 ...

  8. JAVA中常用的逻辑运算符_Java中的常见运算符以及使用

    Java中的运算符有算术运算符.关系运算符.逻辑运算符.赋值运算符.字符串连接运算符.三目运算符等.下面介绍一下这几种. 1.算术运算符 包括:加(+).减(-).乘(*).除(/).取余(%).自加 ...

  9. java中的.运算符_java中的各种运算符

    1.算术运算符: 算术运算符也就是我们小学所学过的:+ - * /:还有取模运算符:%:取模运算符也就是求余的 运算: 运算形式:操作数 + 操作数:操作数 - 操作数:操作数 * 操作数:操作数 / ...

  10. java instanceof运算符_Java 中的instanceof 运算符

    Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: res ...

最新文章

  1. 推荐一位高性能服务开发专家!是他让我从专科,蜕变为年薪百万后端开发!...
  2. Centos6部署lamp: httpd2.4+module模式
  3. RNN神经网络的输入输出维度的关系
  4. 成本费用跨年取得发票的财务、税务处理
  5. Jquery——hover与toggle
  6. python 监控linux硬盘,Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例...
  7. 位置2的索引超出数组范围不能超过10_golang学习笔记--切片slice 与数组 arr
  8. VSCode打开多个项目文件夹的解决方法
  9. 常见查找算法之—二分查找
  10. 内网通v3.1.2141无捆绑绿色官方版
  11. 一款相当好用的排版软件
  12. ffmpeg音频文件格式转换(支持重采样采样位数为24位)
  13. oracle的成本核算,ORACLE-EBS-最新成本管理手册
  14. UFS 3.1协议分析(第五章) -- UFS协议栈
  15. ubuntu查看隐藏文件及显示隐藏文件所占用存储空间
  16. 由矩阵运算来看初等矩阵的左乘右乘所影响到矩阵的行列变换的本质
  17. 星巴克中国虎年新春限定产品上市
  18. TensorFlow卷积网络常用函数参数详细总结
  19. biopython----bio.PDB
  20. erp 计算机语言,erp开发用什么语言

热门文章

  1. idea远程调试debug
  2. zbbz的lisp_求CAD lisp 程序,选择一条或多条多段线,输出其上点的x,y,z坐标。
  3. 2015计算机软考试题及答案,2015年计算机软考网络工程师练习试题及答案
  4. 如何找到想要的资源?
  5. 云课堂智慧职教答案python_云课堂智慧职教答案python,云课堂智慧职教数学答案,云课堂智慧职教搜题...
  6. GaussDB Hash表分布列选择原则及数据倾斜检测
  7. 软件验收报告文档模版
  8. 打印杨辉三角python
  9. 完美解析Opendrive地图格式数据
  10. docker 删除镜像