📜  G-Fact 19(布尔逻辑和位非运算符)(1)

📅  最后修改于: 2023-12-03 15:00:52.362000             🧑  作者: Mango

G-Fact 19: 布尔逻辑和位非运算符

在计算机科学中,布尔逻辑和位非运算符是常见的运算符。这些运算符可以用于计算机程序中的条件语句或位操作。

布尔逻辑运算符

布尔逻辑运算符用于将两个布尔值组合成一个新的布尔值。以下是常见的布尔逻辑运算符:

| 运算符 | 描述 | | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | && | 逻辑与运算符。如果两个操作数都为true,则返回true。否则,返回false。 | | || | 逻辑或运算符。如果两个操作数都为false,则返回false。否则,返回true。 | | ! | 逻辑非运算符。如果操作数为true,则返回false。如果操作数为false,则返回true。 |

下面是相关的代码示例:

boolean a = true;
boolean b = false;

System.out.println(a && b); // 输出 false
System.out.println(a || b); // 输出 true
System.out.println(!a); // 输出 false
位非运算符

位非运算符用于翻转二进制位。例如,将二进制数1111转换为0000。以下是常见的位非运算符:

| 运算符 | 描述 | | ------ | --------------------------------------------------------------------------------------------------------------------------------------------- | | ~ | 位非运算符。按位翻转操作数的二进制表示形式,即0变为1,1变为0。 | | << | 左移运算符。将左侧操作数的二进制表示形式向左移动右侧操作数指定的位数。左侧空出的位置用0填充。 | | >> | 右移运算符。将左侧操作数的二进制表示形式向右移动右侧操作数指定的位数。左侧空出的位置用符号位填充。如果左侧操作数是正数,则用0填充。如果左侧操作数是负数,则用1填充。 | | >>> | 无符号右移运算符。将左侧操作数的二进制表示形式向右移动右侧操作数指定的位数。左侧空出的位置用0填充。如果左侧操作数是正数,则用0填充。如果左侧操作数是负数,则用1填充。 |

下面是相关的代码示例:

int a = 60; // 二进制值 0011 1100
int b = ~a; // 翻转二进制位,结果为-61

System.out.println(b); // 输出 -61
System.out.println(a << 2); // 输出 240,二进制值为 1111 0000
System.out.println(a >> 2); // 输出 15,二进制值为 0000 1111

总结

布尔逻辑和位非运算符是编写计算机程序中常见的运算符。这些运算符可以帮助我们进行条件语句或位操作。使用这些运算符时,请小心确保您理解它们的含义,并正确使用它们。