JAVA位运算的知识点总结

JAVA位运算的知识点总结

什么是位运算

在计算机中,数据都是以二进制表示的。位运算就是直接对二进制的位进行操作的运算,包括位与、位或、位异或以及位移动等操作。

位运算符号

位运算符号包括:

  • 按位与:&
  • 按位或:|
  • 按位异或:^
  • 左移运算:<<
  • 右移运算:>>
  • 无符号右移运算:>>>

下面对每种符号进行详细讲解。

按位与

按位与运算符是 "&",当两个数进行按位与运算时,只有两个数对应的二进位都为1时,才返回1,否则返回0。示例代码如下:

int a = 5 & 3;
System.out.println(a);

运行结果为:1。因为5和3的二进制分别为101和011,对应位相与得到001,即1。

按位或

按位或运算符是 "|",当两个数进行按位或运算时,只要两个数对应的二进位有一个为1,就返回1,否则返回0。示例代码如下:

int a = 5 | 3;
System.out.println(a);

运行结果为:7。因为5和3的二进制分别为101和011,对应位相或得到111,即7。

按位异或

按位异或运算符是 "^",当两个数进行按位异或运算时,两个数对应的二进位相异时返回1,否则返回0。示例代码如下:

int a = 5 ^ 3;
System.out.println(a);

运行结果为:6。因为5和3的二进制分别为101和011,对应位相异或得到110,即6。

左移运算

左移运算符是 "<<",将一个数的二进制向左移动指定的位数。左移n位则相当于乘以2的n次方。示例代码如下:

int a = 5 << 2;
System.out.println(a);

运行结果为:20。因为5的二进制为101,将其左移两位得到10100,即20。

右移运算

右移运算符是 ">>",将一个数的二进制向右移动指定位数。右移n位则相当于除以2的n次方。示例代码如下:

int a = 10 >> 2;
System.out.println(a);

运行结果为:2。因为10的二进制为1010,将其右移两位得到10,即2。

无符号右移运算

无符号右移运算符是 ">>>",将一个数的二进制向右移动指定位数,移动后高位用0填充。示例代码如下:

int a = -1 >>> 1;
System.out.println(a);

运行结果为:2147483647。因为-1的二进制全为1,将其无符号右移一位得到01111111 11111111 11111111 11111111,即2147483647。

总结

以上就是JAVA位运算的知识点总结,包括按位与、按位或、按位异或、左移运算、右移运算、无符号右移运算的使用方法和示例代码。掌握位运算可以提高程序的效率,同时还有一定的实际应用场景。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA位运算的知识点总结 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Java 基础语法

    Java 基础语法 Java 是一种广泛使用的编程语言,本文将向您介绍 Java 的基础语法。 数据类型 Java 中的数据类型分为两类:基本数据类型和引用数据类型。 基本数据类型 数据类型 描述 byte 字节数据类型。在存储空间上占据 1 个字节。 short 短整型数据类型。在存储空间上占据 2 个字节。 int 整型数据类型。在存储空间上占据 4 个…

    Java 2023年5月19日
    00
  • 解析java中的error该不该捕获

    解析Java中的Error是否应该捕获,需要考虑到Error类是Throwable类的子类,它们都是Throwable的两个直接子类,都表示了Java程序中的异常状况。与Exception不同的是,Error类表示的是JVM在运行时所遇到的严重问题,比如说OutOfMemoryError、NoClassDefFoundError等。由于Error类的严重性质…

    Java 2023年5月27日
    00
  • java的Console类的使用方法及实例

    Java的Console类的使用方法及实例 什么是Console类? Java的java.io.Console类是用于读取控制台输入的类。在Java SE 5以前,读取控制台输入一般是使用System.in和Scanner类来实现的。但是这两种方式都有一些不足之处。使用System.in缺乏一些高级特性,比如输入密码时隐藏用户输入的内容;而使用Scanner…

    Java 2023年5月26日
    00
  • Adobe Acrobat DC怎么使用?Adobe Acrobat DC下载安装图文教程

    如果想要使用 Adobe Acrobat DC 进行 PDF 文件的编辑和管理,可以按照以下步骤进行下载、安装和使用: 下载安装 Adobe Acrobat DC 打开 Adobe 官网(https://www.adobe.com/),选择“Acrobat”选项,并点击“开始免费试用”或“购买”按钮。 如果选择免费试用,则需要输入个人信息和支付信息,之后会获…

    Java 2023年6月15日
    00
  • Mybatis多表关联查询的实现(DEMO)

    Mybatis多表关联查询的实现(DEMO) 1. 前言 在现实开发中,通常需要查询两个或更多个表的联合结果。这可以通过SQL join操作实现。Mybatis框架也提供了多表关联查询的实现,本文将以实例为根据,详细讲解Mybatis多表关联查询的实现过程。 2. 环境准备 为了实现多表查询,需要先建好需要查询的两个或多个表。此外,还需要安装好Mybatis…

    Java 2023年5月20日
    00
  • JavaSpringBoot报错“ClientErrorException”的原因和处理方法

    原因 “ClientErrorException” 错误通常是以下原因引起的: 客户端请求问题:如果客户端请求存在问题,则可能会出现此错误。在这种情况下,需要检查客户端请求并确保它们正确。 服务器响应问题:如果服务器响应存在问题,则可能会出现此错误。在这种情况下,需要检查服务器响应并确保它们正确。 网络连接问题:如果网络连接存在问题,则可能会出现此错误。在这…

    Java 2023年5月4日
    00
  • log4j2日志异步打印(实例讲解)

    当应用程序运行时,日志是一项重要的组成部分,可用于debug、性能分析等。然而,日志的打印也会降低应用程序的性能。这就是为什么使用异步日志打印器的原因。 log4j2是一个广泛使用的Java日志框架,它支持异步日志打印。在本文中,我们将介绍log4j2的异步日志打印机制,并提供示例代码。 异步日志打印机制 与传统的同步日志打印机制不同,异步日志打印机制可以在…

    Java 2023年5月26日
    00
  • Java动态追踪技术探究之从JSP到Arthas

    Java动态追踪技术探究之从JSP到Arthas 背景介绍 在Java应用服务器中,如果出现了性能问题,我们需要通过一些工具来进行监控和追踪。常用的工具包括JProfiler,JVisualVM等,但是这些工具大多需要进行配置或者在启动时进行设置,并且需要连接到服务器上才能进行远程监控。基于这些问题,我们探究了一种新的Java动态追踪技术,该技术可以在不需要…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部