`
sw1982
  • 浏览: 503945 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java的Boolean怎么可以位操作?

阅读更多

     用位操作来对boolean进行运算,结果居然是对的。。。在代码review发现的操作符错误,居然神奇的正常运行了

 

 

下面进行了测试。。包括int型的位比较都是正确的:

	public static void main(String[] args) {

		final  boolean s1 = true;
		final boolean s2 = false;
		
		System.out.println("s1 & s2 ==" + (s1 & s2));
		System.out.println("s1 | s2 ==" + (s1 | s2));
		System.out.println("s2 & s1 ==" + (s2 & s1));
	}

s1 & s2 ==false
s1 | s2 ==true
s2 & s1 ==false

突发奇想, 把int型也测试一把:

	public static void main(String[] args) {

//		final  boolean s1 = true;
//		final boolean s2 = false;
//		
//		System.out.println("s1 & s2 ==" + (s1 & s2));
//		System.out.println("s1 | s2 ==" + (s1 | s2));
//		System.out.println("s2 & s1 ==" + (s2 & s1));
		
		final int i = 0;
		final int j = 1;
		System.out.println(i&j); //0 
		System.out.println(i|j); //1  
		
		final int k = 2; //加个2进来,结果就好玩了
		System.out.println(j&k); //0
		System.out.println(i&k); //0
		System.out.println(i|k); //2
	}
 

 

分享到:
评论

相关推荐

    Java 面试知识点总结.pdf

    Java 语言表达式所操作的 boolean 值,在编译之后都使用 Java 虚拟机中的 int 数据类 型来代替,而 boolean 数组将会被编码成 Java 虚拟机的 byte 数组,每个元素 boolean 元素占 8 位”。这样我们可以得出 boolean ...

    张孝祥java就业面试宝典

    &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说...

    Java开发技术大全(500个源代码).

    boolExample.java 演示boolean变量的程序 charExample.java 演示char变量的程序 compare.java 演示前缀、后缀自加之间区别的程序 constCharExample.java 演示转义字符 converseNumber.java 逆向输出数字 ...

    JAVA面试题最全集

    一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? ...

    JAVA基础课程讲义

    boolean类型 29 运算符(operator) 29 二元运算符 29 一元运算符 30 布尔逻辑表达符 30 位运算符 30 扩展运算符 31 字符串连接符 31 三目条件运算符 31 运算符优先级的问题 31 自动类型转换 32 基本类型转化时常见...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    Java面试宝典(传说中的葵花宝典).doc

    &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说两者的...

    java基础入门教程

    4 软 件 最 终 产 品 :用 Java 语 言 开 发 的 软 件 可 以 具 有 可视化 、 可 听 化 、 可 操作 化 的 效 果 ,这 要 比 电 视 、 电 影 的 效果 更 为 理 想 ,因 为 它 可 以做 到 "即 时 、 交 互、 动 画 与 ...

    beiyou Java作业 -1

    _学号(8位)_姓名_第几次作业(1位)_类名.java eg: _09211195_王晓_1_Student.java //定义Student类 _09211195_王晓_1_StudentList.java //定义StudentList类 为便于作业批改和查找,上传作业的时候,传.java...

    java常用工具类的使用

    可以使用SimpleDateFormat的parse()方法。 代码演示:SimpleDateFormat解析日期 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo5 { public ...

    java经典面试题集锦

    &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说两者...

    北邮java作业

    _学号(8位)_姓名_第几次作业(1位)_类名.java eg: _09211195_王晓_1_Student.java //定义Student类 _09211195_王晓_1_StudentList.java //定义StudentList类 为便于作业批改和查找,上传作业的时候,传.java...

    Java谜题解惑 中文版CHM格式

    如果你正在在一个性能临界(performance-critical)环境中使用isOdd方法,那么用位操作符AND(&)来替代取余操作符会显得更好: public static boolean isOdd(int i){ return (i & 1) != 0; } 总之,无论你何时...

    基于JAVA的搜索引擎 lucene-2.2.0

    它主要实现了根据指定的建立索引的方式(重写、追加写入),通过create标志位来判断,从而指定一种在操作索引文件的过程中删除索引文件的策略。 必须深入地理解IndexWriter索引器初始化的过程,以及在构造一个...

    超级有影响力霸气的Java面试题大全文档

     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...

    java经典面试题汇总

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    Java2核心技术.part5

    Java2核心技术第I卷.基础知识 目录: 译者序 前言 第1章Java程序设计概述 1.1 Java程序设计平台 1.2 Java“白皮书”的关键术语 1.2.1简单性 1.2.2面向对象 1.2. 3分布式 1. 2.4健壮性 1. 2.5安仝...

Global site tag (gtag.js) - Google Analytics