1) A control statement makes the order of program execution non-sequential. (T) 2) An if statement must be followed by an else statement. (F) 3) Relational operators (<, >) take arithmetic operands, and form boolean expressions. (T) 4) An if-else statement that simply returns true or false can be replaced with a single return statment containing a boolean expression. (T) 5) Boolean operators (&&, !) take arithmetic operands, and form boolean expressions. (F) 6) Short-circuit evaluation is when the second operand of a boolean operator is never evaluated. (T) 7) DeMorgan's law shows how to distribute a "not" operator across a boolean operator. (T) 8) The precedence of boolean operators is from left to right. (F) 9) If you mistakenly use the assignment operator instead of the equals comparison, you will always get a compile error that helps you fix it. (F) 10) A "dangling else" is when an else is not matched with the nearest unmatched if. (F) 11) Object references are compared using the double-equals comparison operator. (T) 12) Object contents must be compared using instance methods. (T) 13) Switch statements can be used to replace any set of if-else statements. (F) 14) The expression in a switch statement can be a byte, short, int or long. (F) 15) Case labels in a switch statement must be constants. (T) 16) Defensive programming means refraining from taking shortcuts that are likely to cause errors. (T) 17) Control statements can be nested inside each other to arbitrary depths. (T) 18) When a program compiles, it no longer has any errors. (F) 19) Compiler errors that refer to a particular line can sometimes be caused by errors in earlier lines. (T) 20) The String class has a static method called equals() that compares the contents of two String objects. (F)