用位操作来对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实现18位身份证格式验证算法的主要知识点,通过这些步骤,可以有效地检查输入的身份证号码是否符合中国的身份证规则。在开发过程中,应结合实际情况,考虑异常处理和性能优化,以提供更稳定和高效的验证...
Java中的位运算是一种高效的操作,它是直接针对二进制位进行操作,因此在处理特定问题,如加密算法和图形算法时,位运算可以提供较高的性能。在Java中,位运算符包括右移(>>>),左移(),无符号右移(>>),按位与(&),按位...
Java 语言支持各种运算符,包括算术运算符、比较运算符、逻辑运算符、赋值运算符和位运算符。这些运算符可以用于执行不同的操作,例如算术运算、比较和逻辑判断。 四、Java 控制结构 Java 语言支持三种基本控制...
8. **在位运算中的角色**:虽然主要讨论的是逻辑运算符,但值得注意的是,"&"和"|运算符"在位运算中也有作用,用于按位与和按位或操作,对二进制数据进行操作。 通过以上介绍,我们了解了Java中的逻辑运算符以及...
在Java编程语言中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在"java 银行卡 验证 正则表达式使用"这个主题中,我们将深入探讨如何利用正则表达式进行银行卡、手机号码和邮箱以及URL地址的...
Java 语言提供了多种运算符,包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符等。 5. 控制结构 Java 语言提供了多种控制结构,包括顺序结构、选择结构和循环结构。选择结构包括 if 语句和 switch ...
在Java编程语言中,"判断几位数及是否是回文数"是一个常见的算法问题,它涉及到数字处理和字符串操作。让我们深入探讨这个问题的解决方案。 首先,我们要了解什么是回文数。回文数是指一个正向读和反向读都一样的...
在Java中,我们可以通过位运算符来实现布尔表达式的操作,这些运算符包括`&`(按位与)、`|`(按位或)、`^`(按位异或)和`~`(按位非)。通过这些运算符,我们可以构造出主析取范式对应的Java代码,从而实现特定的...
CRC16(Cyclic Redundancy...在Java中实现CRC16,可以利用位操作或者现成的工具类,结合提供的`CRC16Util.java`和`CharterConverter.java`,完成数据的校验和验证。这对于保证数据传输的准确性和系统的稳定性至关重要。
这意味着只要安装了 JVM 的设备,无论操作系统如何,都可以运行 Java 程序。 #### 2. Java 中的基本数据类型有哪些? **答案解析:** Java 支持多种基本数据类型,这些类型可以分为四大类: - **整数类型**:`...
它以其“一次编写,到处运行”的特性而闻名,因为Java代码可以跨平台执行,只需在不同的操作系统上安装Java虚拟机(JVM)。在Java的基础操作中,我们需要了解以下几个关键知识点: 1. **基本数据类型**: Java有八...
Java语言提供了八种基本数据类型,包括boolean、byte、char、short、int、long、float和double。Java语言还提供了引用类型,包括数组、类和接口等。 Java语言还提供了自动装箱和自动拆箱机制,自动将基本数据类型...
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。 3. 循环和跳跃语句 * 在Java中如何跳出当前的多重嵌套循环?可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中...
我们可以通过位操作来设置、检查和清除特定位置的位。以下是一个简单的Bit-Vector实现的类结构: ```java public class BitVector { private long[] bits; private int size; public BitVector(int capacity) {...
boolExample.java 演示boolean变量的程序 charExample.java 演示char变量的程序 compare.java 演示前缀、后缀自加之间区别的程序 constCharExample.java 演示转义字符 converseNumber.java 逆向输出数字 ...
位运算符可以用来实现位操作。 13. Java 数组 Java 中的数组可以是整数数组、浮点数数组、字符数组、布尔数组等。 数组的长度可以使用 length 属性获取。 14. Java 字符串 Java 中的字符串可以使用""括起来。 ...
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说...