Variables of boolean type have only two values: "true
" and "false
"
Arithmetic comparisons result in boolean values. For example:
boolean b1 = (5 > 3); // b1 = true; boolean b2 = (2 <= 1); // b2 = false; boolean radiusIsPositive = (r > 0); // could be true // or false - it // depends on what // r is.
Comparison operators compare a pair of values (possibly numbers, characters, or boolean values) and return a boolean value.
Comparison Operator | Name |
< | less than |
<= | less than or equal to |
> | greater than |
>= | greater than or equal to |
== | equal to |
!= | not equal to |
Some operators perform "logic operations", operating on one or more Boolean values and resulting in a Boolean value. These are called Boolean operators.
Boolean Operator | Name |
! | not |
&& | and |
|| | or |
^ | exclusive or |
p | !p |
T | F |
F | T |
Examples
boolean b1 = !(1 > 2); \\ b1 = true, as (1 > 2) is false boolean b2 = !(1 > 0); \\ b2 = false, as (1 > 0) is true
p | q | p && q |
T | T | T |
T | F | F |
F | T | F |
F | F | F |
Examples
boolean b1 = (3 > 2) && (5 >= 5); \\ b1 = true, as \\ both inequalities \\ are true boolean b2 = (3 > 2) && (5 > 5); \\ b2 = false, as \\ (5 > 5) is false
p | q | p || q |
T | T | T |
T | F | T |
F | T | T |
F | F | F |
Examples
boolean b1 = (2 > 3) || (5 > 5); \\ b1 = false, as \\ both inequalities \\ are false boolean b2 = (3 > 2) || (5 > 5); \\ b2 = true, as at \\ least one of the \\ inequalities is true
p | q | p ^ q |
T | T | F |
T | F | T |
F | T | T |
F | F | F |
Examples
boolean b1 = (2 > 3) ^ (5 > 5); \\ b1 = false, as \\ both inequalities \\ are false boolean b2 = (3 > 2) ^ (5 > 5); \\ b2 = true, as \\ exactly one of the \\ inequalities is true boolean b3 = (3 > 2) ^ (5 > 4); \\ b3 = false, as \\ both inequalities \\ are true
A Boolean expression is an expression that evaluates to a Boolean value. The mathematics of these logical operators and expressions is called Boolean Algebra, and was developed by George Boole in 1854.
Java uses "shortcut evaluation" when it attempts to evaluate a Boolean expression. In other words, the evaluation of the expression stops as soon as the result is known.
For example:
boolean b = (3 < 2) && ( 1/0 < 5 ); \\ b = false \\ the expression on the right \\ is never evaluated
boolean b = (3 > 2) && ( 1/0 < 5 ); \\ RUN-TIME ERROR
\\ due to the division
\\ by zero