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 Spring5学习之JdbcTemplate详解

    Java Spring5学习之JdbcTemplate详解 什么是JdbcTemplate JdbcTemplate 是 Spring Framework 中的一个核心模块,它提供了在 Java 应用程序中使用 JDBC 进行关系数据库访问的许多经典用例的实现。它通过显式管理 JDBC 资源和异常处理来简化了与数据库的交互。 在Java应用程序中使用Jdbc…

    Java 2023年5月20日
    00
  • spring boot2.0总结介绍

    Spring Boot 2.0 总结介绍 Spring Boot 作为一款基于 Spring 框架的快速开发框架,在各种 Web 应用开发过程中被广泛使用。此次我们将对 Spring Boot 2.0 进行总结介绍,分享如何快速搭建、配置和优化 Spring Boot 2.0。 快速搭建 Spring Boot 2.0 搭建 Spring Boot 2.0 …

    Java 2023年5月15日
    00
  • Java之JSP教程九大内置对象详解(中篇)

    让我来详细讲解一下“Java之JSP教程九大内置对象详解(中篇)”的完整攻略。 一、介绍 本教程将深入讲解九大内置对象,包括:request、response、pageContext、session、application、out、config、page、exception。通过本教程的学习,你将深入了解这些内置对象的作用和使用方法,进一步提高你的JSP编程…

    Java 2023年5月26日
    00
  • Java Apache Commons报错“ConfigurationException”的原因与解决方法

    当使用Java的Apache Commons类库时,可能会遇到“ConfigurationException”错误。这个错误通常由以下原因之一起: 配置文件错误:如果配置文件错误,则可能会出现此错误。在这种情况下,需要检查配置文件以解决此问题。 配置项缺失:如果配置项缺失,则可能会出现此错误。在这种情况下,需要检查配置项以解决此问题。 以下是两个实例: 例1…

    Java 2023年5月5日
    00
  • 详解SpringBoot自定义配置与整合Druid

    详解SpringBoot自定义配置与整合Druid 本文将详细介绍如何在SpringBoot项目中自定义配置和整合Druid数据源。在本文中,我们将使用SpringBoot 2.x版本和Druid 1.1.10版本。 1. 自定义配置 在SpringBoot项目中,我们可以通过自定义配置文件来配置应用程序的各种属性。SpringBoot支持多种配置文件格式,…

    Java 2023年5月18日
    00
  • 编码实现从无序链表中移除重复项(C和JAVA实例)

    针对“编码实现从无序链表中移除重复项(C和JAVA实例)”,我来为你做一个详细的讲解攻略。 概述 无序链表中的元素可能会出现重复,我们需要从链表中移除这些重复项。本攻略将提供C语言和Java语言的实现示例,以帮助你更好理解链表去重的过程。 解题思路 链表去重的简单解法是使用哈希表。我们遍历链表中的每个节点,使用哈希表来存储这些节点包含的值。如果遇到一个节点其…

    Java 2023年5月20日
    00
  • Eclipse将Maven项目打成jar包的方法

    下面是关于“Eclipse将Maven项目打成jar包的方法”的完整攻略: 1. 确认项目pom.xml中已设置打包类型为jar 在pom.xml文件中确认如下代码是否已设置: <packaging>jar</packaging> 如果没有设置,则需要添加上述代码。修改完毕后,保存pom.xml文件并执行Maven的clean和ins…

    Java 2023年5月20日
    00
  • 解析SpringSecurity自定义登录验证成功与失败的结果处理问题

    好的。对于Spring Security自定义登录验证成功与失败的结果处理过程,一般需要完成以下几个步骤: 定义登录页面。 配置Spring Security登录验证相关内容。 定义验证成功与失败的结果处理逻辑。 配置登录页面等相关信息。 具体来说,详细步骤如下: 1. 定义登录页面 首先,我们需要定义自己的登录页面。可以使用HTML、JSP、Thymele…

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