编写一个类Example02_3,在main方法下输出3和4进行不同的位运算后的结果: 1)分别使用&、|、^位运算符对3和4进行位运算,并输出; 2)对3进行按位取反操作,并输出; 3)将3左移2位,并输出。
时间: 2024-09-13 07:08:28 浏览: 90
首先,我们来定义一个类`Example02_3`,并且在这个类中编写`main`方法,来实现上述的位运算和输出结果。
```java
public class Example02_3 {
public static void main(String[] args) {
int a = 3; // 二进制表示为 0000 0011
int b = 4; // 二进制表示为 0000 0100
// 1)使用&、|、^位运算符对3和4进行位运算,并输出
System.out.println("3 & 4 = " + (a & b)); // 0000 0011 & 0000 0100 = 0000 0000,结果是0
System.out.println("3 | 4 = " + (a | b)); // 0000 0011 | 0000 0100 = 0000 0111,结果是7
System.out.println("3 ^ 4 = " + (a ^ b)); // 0000 0011 ^ 0000 0100 = 0000 0111,结果是7
// 2)对3进行按位取反操作,并输出
System.out.println("~3 = " + ~a); // ~0000 0011 = 1111 1100,结果是-4(如果用int类型,最高位为符号位)
// 3)将3左移2位,并输出
System.out.println("3 << 2 = " + (a << 2)); // 0000 0011 << 2 = 0000 1100,结果是12
}
}
```
这个程序首先定义了两个整型变量`a`和`b`,分别初始化为3和4。然后按照要求进行了位运算,并使用`System.out.println`方法输出了每个运算的结果。
注意,在Java中,使用按位取反操作符`~`时,如果对正数进行取反操作,结果会得到一个负数,因为最高位是符号位。在二进制中,3表示为`0000 0011`,取反后为`1111 1100`,转换为十进制是-4(根据补码规则)。
阅读全文