背景

今天碰到了代码中的按位与运算,复习一下,先列一个各个进制数据表。

顺便复习一下十进制转二进制的计算方式:

接下来解释下这三个运算符:

&  按位与,都转为二进制的情况下,同为1则为1,否则为0。
|   按位或,都转为二进制的情况下,同为0则为0,否则为1。
^  按位异或,都转为二进制的情况下,相同为0,不同为1。

示例一

比如有两个数

int x = 5;
int y = 11;

在Java代码中做一个计算

System.out.println(x|y);
System.out.println(x&y);
System.out.println(x^y);

计算结果是15, 1 ,14

计算过程分析,都转为二进制进行计算。

x=5 (0101二进制)
y=11(1011二进制)
x|y = 1111 = 15
x&y = 0001 = 1
x^y = 1110 =14

示例二

下面是 java 代码中的一个 if 语句的判断条件:

(8 & 0x10) == 0

这个结果为true,我们来分析一下,这是个按位与运算,都转为二进制的情况下,同为1则为1,否则为0。

十进制数8对应的二进制为1000,十六进制数0x10对应的十进制应该是16,对应的二进制应该是10000。

所以,是对1000和10000这两个二进制数进行按位与运算,同为1则为1,否则为0,计算得到00000,也就是十进制的0。

Java 中 & | ^ 运算符的简单使用的更多相关文章

  1. 多线程(三) java中线程的简单使用

    java中,启动线程通常是通过Thread或其子类通过调用start()方法启动. 常见使用线程有两种:实现Runnable接口和继承Thread.而继承Thread亦或使用TimerTask其底层依 ...

  2. java中数据流的简单介绍

    java中的I/O操作主要是基于数据流进行操作的,数据流表示了字符或者字节的流动序列. java.io是数据流操作的主要软件包 java.nio是对块传输进行的支持 数据流基本概念 “流是磁盘或其它外 ...

  3. java中volatile的简单理解

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7833881.html 据说,volatile是java语言中最轻量级的并发控制方式. vo ...

  4. 关于JAVA中异常处理的简单阐释.

    ---恢复内容开始--- 这是我的一篇要在博客园发布的随笔,主要是简单的概括一下我本次所学的关于异常处理的知识.有讲的不妥当的地方,或者有需要补充的,还请各位高人给指点,共同学习,虚心求学.谢谢啦~ ...

  5. redis学习笔记(二)——java中jedis的简单使用

    redis怎么在java中使用,那就是要用到jedis了,jedis是redis的java版本的客户端实现,原本原本想上来就直接学spring整合redis的,但是一口吃个胖子,还是脚踏实地,从基础开 ...

  6. Java 中的instanceof简单讲解

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

  7. JAVA中JNI的简单使用

    了解JNI:JAVA因其跨平台特性而受人们喜爱,也正因此,使得它和本机各种内部联系变得很少,所以JNI(Java Native Interface)就是用来解决JAVA本地操作的一种方式.JAVA通过 ...

  8. java中接口的简单运用&java中的一些异常(运用myeclipse)

    package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...

  9. java中序列化的简单认识

    一.什么是序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,就可 ...

  10. Java中NIO的简单介绍

    NIO基本介绍 Java NIO(New IO) 也有人称之为Java non-blocking IO 是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API.NIO与原来的 ...

随机推荐

  1. jquery中的callbacks之我见

    callbacks是jquery的核心之一. 语法如下: jQuery.Callbacks( flags )   flags 类型: String 一个用空格标记分隔的标志可选列表,用来改变回调列表中 ...

  2. 吴裕雄 python深度学习与实践(7)

    import cv2 import numpy as np img = np.mat(np.zeros((,))) cv2.imshow("test",img) cv2.waitK ...

  3. R语言-图的要素颜色

    1.设置图形要素的颜色 Plot函数中,使用col=参数来决定要素的颜色 如果不指定plot type,颜色加在散点上,如果指定了plot type,例如line,则颜色加在线上 其它函数,例如bar ...

  4. 动态创建js脚本和 css样式

    //1.动态添加外部js文件 function loadScript(url){ var script = document.createElement("script"); sc ...

  5. 深入浅出PF 学习笔记---TypeConverter

    StringToHumanTypeConverter类(从TypeConverter继承 using System; using System.Collections.Generic; using S ...

  6. Mysql连接数太多ERROR 1040 (HY000): Too many connections

    数据库连接报错:ERROR 1040 (HY000): Too many connections   1.查看连接数 /usr/local/mysql/bin/mysqladmin -h host - ...

  7. Flask最强攻略 - 跟DragonFire学Flask - 第一篇 你好,我叫Flask

    首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 一. Python 现阶段三大主流Web框 ...

  8. python + Jquery,抓取西东网上的Java教程资源网址

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-06-15 14:01:45 # @Author : Chenjun (320 ...

  9. 转:Loadrunner添加服务器监控

    一.监控windows系统:1.监视连接前的准备        1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry ...

  10. [leetcode]6. ZigZag Conversion字符串Z形排列

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...