## Boolean Expressions

This chapter introduces relational and logical operators. It also discusses the use of these operators to write Boolean expressions.

### 10. A Common Mistake

Answer:  // check that the weight is within range
if ( weight >= 136 && weight <= 147 )
System.out.println("In range!" );
else
System.out.println("Out of range." );
Another correct answer is:    // check that the weight is within range
if ( 136 <= weight && weight <= 147 )
System.out.println("In range!" );
else
System.out.println("Out of range." );
Here is another correct (but unclear) answer:    // check that the weight is within range
if ( weight < 148 &&  135 < weight )
System.out.println("In range!" );
else
System.out.println("Out of range." );
There are more than a dozen correct answers. But the best answers are both correct and clear.


# A Common Mistake

The boxer must weigh enough (weight >= 136), and must also not weigh too much (weight <= 147). The results of the two tests are combined with the and-operator, &&.

A common mistake is to fail to use two separate comparisons. The following does not work:

if ( 136 <= weight <= 147 )  // wrong

The above is incorrect because 136 <= weight forms a boolean subexpression. The second <= would try to compare a boolean to an integer.

136 <= weight <= 147--------------   ---  boolean    <=  147

Here is a JavaScript version of the program:

if ( weight >= 136 && weight <= 147 )   System.out.println("In Range")else  System.out.println("Out of Range")
How heavy is the boxer?



Question 10:Try the program with the weight 140.