# 13.11: Vocabulary

boolean:
A data type with only two values, true and false.
relational operator:
An operator that compares two values and produces a boolean indicating the relationship between them.
logical operator:
An operator that combines boolean values and produces a boolean value.
short circuit:
A way of evaluating logical operators that only evaluates the second operand if necessary.
De Morgan’s laws:
Mathematical rules that show how to negate a logical expression.
conditional statement:
A statement that uses a condition to determine which statements to execute.
branch:
One of the alternative sets of statements inside a conditional statement.
chaining:
A way of joining several conditional statements in sequence.
nesting:
Putting a conditional statement inside one or both branches of another conditional statement.
flag:
A variable (usually boolean) that represents a condition or status.
recursion:
The process of invoking (and restarting) the same method that is currently executing.
recursive:
A method that invokes itself, usually with different arguments.
base case:
A condition that causes a recursive method not to make another recursive call.
binary:
A system that uses only zeros and ones to represent numbers. Also known as “base 2”.