在 Java 语言的上下文中,“boolean”一词可以有不同的含义,尽管这些含义非常相关。可能是:
![Java Boolean - 1]()
注意,在 Java 中,运算符 &、| 和 ^ 还适应于整数。在这种情况下,它们的工作方式略有不同,被称为按位逻辑运算符。
我们举一个例子,展示几个使用逻辑运算符组成的逻辑表达式。
- boolean 原始类型或这种类型的 boolean 变量
- Java Boolean 类或 Boolean 包装器对象
- Boolean 表达式、boolean 值、某些条件
- Java Boolean 运算符
一般意义的 boolean 运算是什么
Boolean 表达式的概念来自数学,或者更确切地说,来自数理逻辑。命题代数中的 Boolean 表达式可以是真或假的表达式。例如:“雪是白色的”
“鳄鱼会飞”
“2 + 2 = 4”
“1 + 1 = 21”
同时,“2”或“雪”都不是 Boolean 表达式。
Java boolean 原始数据类型和 boolean 变量
谈到 Java 中的 boolean,首先它很可能是 boolean 原始数据类型和这种类型的 boolean 变量。你可能已经猜到,这种类型的变量只能有两个值,true 和 false。 Java 有非常严格的限制:Java 中的 boolean 不能转换成任何其他数据类型,反之亦然。特别是,Java 中的 boolean 不是整数类型,不能用整数值代替 boolean。 下面是一个直接设置 boolean 类型的示例:
//boolean 变量示例
public class BoolTest {
public static void main(String[] args) {
boolean myBoolean = false;
System.out.println(myBoolean);
}
}
这里我们有 2 个 boolean 变量。
我们用一个使用 boolean 类型的例子编写一个小程序:
public class BoolTest {
public static void main(String[] args) {
boolean myBoolean = false;
int a = 5;
int b = 7;
System.out.println(a < b);
System.out.println(0 > 7);
System.out.println(myBoolean == false);
}
}
这个程序将“false”输出到控制台。顺便说一下,boolean 变量默认设置为 false,但是 Java 不允许使用未初始化的局部变量。
Java 中的 boolean 表达式
除了将 boolean 变量显式初始化为 true 或 false 之外,boolean 数据类型在许多地方都是隐式使用的。正如任何数字相加的结果都将是一个数字一样,任何比较的结果都将是真或假,也就是说,结果将是 boolean 类型。 这意味着,除了通过 boolean 变量赋值语句直接指定 boolean 值之外,boolean 值还来自各种比较,如 5 > 2,主要用于条件语句和循环语句中。 下面是一个使用 boolean 类型的例子:
public class BoolTest {
public static void main(String[] args) {
boolean myBoolean = false;
int a = 5;
int b = 7;
System.out.println(a < b);
System.out.println(0 > 7);
System.out.println(myBoolean == false);
}
}
输出是:
true
false
true
在 a < b 的情况下,< 运算符比较左边的表达式和右边的表达式。我们在屏幕上显示了比较的结果。
由于 5 < 7(语句为真),值 true 将被输出到控制台。
在第二种情况下,我们显示零和七的直接比较,在第三种情况下,我们询问变量 myBoolean 的值是否为 false。既然是这种情况,我们输出值 true。
事实上,要在 Java 中构建 boolean 表达式,我们可以使用任何比较运算符:比较运算符 | Java 运算符 | 运算示例 | 运算结果 |
---|---|---|---|
小于 | < | a < b | 如果 a 小于 b,则为 true,否则为 false |
大于 | > | a > b | 如果 a 大于 b,则为 true,否则为 false |
小于或等于 | <= | a <= b | 如果 a 小于或等于 b,则为 true。否则为 false |
大于或等于 | >= | a >= b | 如果 a 大于或等于 b,则为 true,否则为 false |
等于 | == | a == b | 如果 a 等于 b,则为 true,否则为 false |
不等于 | != | a != b | 如果 a 不等于 b,则为 true,否则为 false |
何处使用 boolean 值
boolean 值和条件表达式经常用在分支语句、三元运算符和循环的条件中。事实上,这些使用是基于检查某些 Boolean 表达式。例如:
public class BoolTest2 {
public static void main(String[] args) {
int i = 0;
while (i <= 10)
{
System.out.println(i);
i++;
}
}
}
该程序输出整数序列,只要满足 while 后面括号中的条件,就将它们递增 1。也就是说,当表达式 i <=10 为真时。

Java boolean 运算符。用 boolean 运算符构建 boolean 表达式
Java 中提供了以下逻辑(或 boolean)运算:逻辑否,也称为 NOT 或求反。在 Java 中,由表达式前的符号 ! 表示。
逻辑与,也称为 AND 或合取。在应用它的两个表达式之间用符号 & 表示。
逻辑或,在 Java 中,也称为 OR 或析取。在Java中,由两个表达式之间的符号 | 表示。
异或,也称为 XOR 或严格析取。在 Java 中,它由两个表达式之间的符号 ^ 表示。
在 Java 中,逻辑运算符包括条件或,表示为 ||,以及条件与,表示为 &&。
a | b == true
boolean Java 运算符 | 名称 | 类型 | 说明 | 示例 |
---|---|---|---|---|
! | 逻辑“非”(负) | 一元运算符 | !x 指“非 x”。如果 x 为 false,则返回 true。如果 x 为 true,则返回 false。 |
则
|
& | 逻辑“与”(与,逻辑乘) | 二元运算符 | 如果 a 和 b 为 true,则 (a & b) 返回 true。 |
则
|
| | 逻辑或(逻辑加) | 二元运算符 | 如果 a 或 b 或者两者都为 true,则 (a | b) 返回 true。 |
则 |
^ | 逻辑异或 (XOR) | 二元运算符 | 如果操作数(a 或 b)之一为 true, (a ^ b) 返回 true。如果 a 和 b 两者都同时为 true 或 false,则返回 false。实际上,如果 a 不等于 b,则它返回 true。 |
则
|
&& | 条件与(缩写逻辑与) | 二元运算符 | a && b 与 a & b 相同,但如果 a 为 false,则运算符仅返回 false 而不检查 b。 | |
|| | 条件或(缩写逻辑或) | 二元运算符 | a || b 与 a | b 相同,但如果 a 为 true,该运算符只返回 true 而不检查 b。 |
public class BoolTest2 {
public static void main(String[] args) {
int a = 5;
int b = 7;
boolean myBool1 = true;
boolean myBool2 = false;
System.out.println(myBool1&myBool2);
System.out.println(myBool1|myBool2);
System.out.println(!myBool1);
System.out.println((a > b) & !myBool1 | myBool2);
}
}
以下是输出:
false
true
false
false
事实上,可以使用逻辑运算符构建非常复杂的逻辑结构。
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
如果所有的变量都初始化,此类结构将会起作用。不过,你不应滥用此类结构,因为阅读代码非常困难。
然而,使用此类逻辑结构是非常有用的。试着用表中给出的其他逻辑运算符来建立逻辑表达式。
逻辑运算的优先级
与数学一样,在编程中,如果运算符出现在同一个表达式中,它们有特定的执行顺序。一元运算符比二元运算符优先,乘法(甚至是逻辑运算)比加法优先。 以下是逻辑运算符,它们在主题列表中的位置越高,优先级越高:!
&
^
|
&&
||
Java boolean 包装器
在 Java 中,每个原始类型都有一个“兄弟”,即包装类 (Wrapper)。包装器是一个特殊的类,它在内部存储原始类型的值。然而,这是一个类,所以可以创建它的实例(对象)。这些对象在内部存储原始类型的必要值,而它们将是真实的对象。 Java boolean 原始类型有一个包装器 Java Boolean(B 带哦)类。Boolean 类对象的创建与其他类对象一样:
public class BoolTest2 {
public static void main(String[] args)
{
System.out.println(Boolean.parseBoolean("True"));
System.out.println(Boolean.parseBoolean("TRuE"));
System.out.println(Boolean.parseBoolean("False"));
System.out.println(Boolean.parseBoolean("here"));
}
}
输出是:
true
true
false
false
GO TO FULL VERSION