# Expressions and Subexpressions

a + b | is an arithmetic expression |

sum < a + b | is a relational expression, a type of boolean expression |

d > 90 | is a relational expression, a type of boolean expression |

sum < a + b && d > 90 | is a boolean expression |

... and so on ... | There are many other subexpressions |

The boolean expression of the question contained pieces,
called *sub-expressions*, that are themselves expressions.
It is common in Java (and other languages) to build up
complicated expressions out of smaller expressions.
The precedence rules and parentheses keep everything straight.

Arithmetic operators *, /, +, -, and % have higher precedence than && and || so
they are done first.
For example:

sum < a + b

means

sum < (a + b)

However, the not operator (!) has higher precedence than all the arithmetic
operators except unary minus
and has higher precedence than the other logical operators.
Usually this means that you will need to use parentheses to apply it correctly.

### QUESTION 17:

People may enter a contest UNLESS they are less than 21 years old, make more
than $100,000, or live in Ohio.
Use parentheses to group this boolean expression so that it is
`true`

when a person CAN enter the contest.

! age < 21 || pay > 100000 || home.equals("Ohio")