We can combine expressions containing logical operators to create even more complex Boolean expressions. When combining logical operators, the order of evaluation is as follows:
- Boolean expressions contained within parentheses
- NOT -
!
- AND -
&&
- OR -
||
Take a look at the following snippet of code:
var isSnowing = true var isSunny = false var temp = 38 if (!isSunny && (temp > 40 || isSnowing)) { println("Wear a coat.") } else { println("Don't wear a coat.") }
Let’s discuss the order in which this expression is evaluated. Here is the Boolean expression we are evaluating:
!isSunny && (temp > 40 || isSnowing)
(temp > 40 || isSnowing)
is evaluated first because the expression is contained within parentheses. This expression results in true
, making our expression look like this:
!isSunny && true
!isSunny
is evaluated next because of the NOT operator. This expression is true
because it negates the value of isSunny
:
true && true
Finally, we evaluate the expression using the logical AND operator (&&
). Since both sides of the operator have a true
value, the expression inside our if
statement is true
and we get the final output:
Wear a coat.
Instructions
Use your understanding of logical operators and their order of evaluation to determine the value of the expression inside of the if
expression.
If you believe the program will output "Hello"
, set the value of expressionValue
to true
.
If you believe the program will output "Goodbye"
, set the value of expressionValue
to false
.
Finally, use println()
to output the value of expressionValue
.
Note: Running the code will output the answer. Make sure to declare your variable and finalize your answer before you hit Run.