Boolean expressions
< Java Programming
Navigate Language Fundamentals topic: |
Boolean values are values that evaluate to either true
or false
, and are represented by the boolean
data type. Boolean expressions are very similar to mathematical expressions, but instead of using mathematical operators such as "+" or "-", you use comparative or boolean operators such as "==" or "!".
Comparative operators
Java has several operators that can be used to compare variables. For example, how would you tell if one variable has a greater value than another? The answer: use the "greater-than" operator.
Here is a list of the comparative operators in Java:
-
>
: Greater than -
<
: Less than -
>=
: Greater than or equal to -
<=
: Less than or equal to -
==
: Equal to -
!=
: Not equal to
To see how these operators are used, look at this example:
|
|
Comparative operators can be used on any primitive types (except boolean
), but only the "equals" and "does not equal" operators work on objects. This is because the less-than/greater-than operators cannot be applied to objects, but the equivalency operators can.
![]() |
Specifically, the == and != operators test whether both variables point to the same object. Objects will be covered later in the tutorial, in the "Classes, Objects, and Types" module. |
Boolean operators
The Java boolean operators are based on the operations of the boolean algebra. The boolean operators operate directly on boolean values.
Here is a list of four common boolean operators in Java:
-
!
: Boolean NOT -
&&
: Boolean AND -
||
: Boolean inclusive OR -
^
: Boolean exclusive XOR
The boolean NOT operator ("!") inverts the value of a boolean expression. The boolean AND operator ("&&") will result in true if and only if the values on both sides of the operator are true. The boolean inclusive OR operator ("||") will result in true if either or both of the values on the sides of the operator is true. The boolean exclusive XOR operator ("^") will result in true if one and only of the values on the sides of the operator is true.
To show how these operators are used, here is an example:
|
|
Here are the truth tables for the boolean operators:
a | !a |
---|---|
true | false |
false | true |
a | b | a && b | a || b | a ^ b |
---|---|---|---|---|
true | true | true | true | false |
true | false | false | true | true |
false | true | false | true | true |
false | false | false | false | false |
- For help on simplifying complex logic, see De Morgan's laws.
In Java, boolean logic has a useful property called short circuiting. This means that expressions will only be evaluated as far as necessary. In the expression (a && b)
, if a is false, then b will not be evaluated because the expression will be false no matter what. Here is an example that shows that the second expression is not automatically checked:
|
|
To disable this property, you can use &
instead of &&
and |
instead of ||
but it's not recommended.
- For the bitwise operations on
&
and|
, see Arithmetic expressions.