Complex ConditionalsΒΆ

What if you want two things to be true before the body of the conditional is executed? Use && as a logical and to join two Boolean expressions and the body of the condition will only be executed only if both are true. For example, what if you want to go out and your mom said you could if you clean your room and do your homework? Run the code below and try different values for cleanedRoom and didHomework and see what they have to be for it to print You can go out.

What if it is okay if only one of two things is true? Use || as a logical or to join two Boolean expressions and the body of the condition will be executed if one or both are true. For example, your Dad might say you can go out if you can walk or he doesn’t need the car. Try different values for walking and carIsAvailable and see what the values have to be to print You can go out.

The following table (also called a truth table) shows the result for P && Q when P and Q are both expressions that can be true or false. As you can see below the result of P && Q is only true if both P and Q are true.

P Q P && Q
true true true
false true false
true false ?
false false false

The truth table above is missing one result. What is the result of P && Q when P=true and Q=false? Try it and see

The following table shows the result for P || Q when P and Q are both expressions that can be true or false. As you can see below the result of P || Q is true if either P or Q is true. It is also true when both of them are true.

P Q P || Q
true true true
false true ?
true false true
false false false

The truth table above is missing one result. What is the result of P || Q when P=false and Q=true? Try it and see

Check your understanding

Next Section - Short Circuit Evaluation