In this exercise, we will take a look at logical operators.

Logical operators allow us to combine multiple `True`

/`False`

expressions and statements into complex conditionals. Using the operators `-and`

, `-or`

, `-xor`

, `-not`

, `!`

, we can test multiple conditions with the equality comparison operators we discussed in the previous exercise.

##### Truth Table

A simple way to show the output of logical operators is through a truth table.

x | y | x -and y | x -or y | x -xor y | -not x |
---|---|---|---|---|---|

T | T | T | T | F | F |

T | F | F | T | T | F |

F | T | F | T | T | T |

F | F | F | F | F | T |

As shown in the first two columns, imagine `x`

and `y`

are variables that hold the boolean values. The rest of the columns show the output of the corresponding logical operator given the values for `x`

and `y`

for that row. Let’s explore a few PowerShell examples.

`-and`

The `and`

logical operator is a binary operator that returns `True`

if both statements are `True`

.

PS > -5 -lt 7 -and "hello" -eq "hello" True PS > -5 -lt 7 -and "hello" -eq "world" False

`-or`

The binary `or`

logical operator returns `True`

if either statement returns `True`

.

PS > 42 -le 13 -or 5 -ge 5 True PS > 42 -le 13 -or 5 -gt 5 False

`-xor`

This binary operator returns `True`

when only ONE statement is `True`

.

PS > 25 -gt 2 -xor "hello" -eq "world" True PS > 25 -gt 2 -xor "code" -eq "code" False

`-not`

and `!`

Both the `-not`

and `!`

operators negate the statement that follows. They are unary operators.

PS > -not (2 -gt 5) True PS > !(17 -le 99) False

### Instructions

**1.**

In the **logical_operators.ps1** script file, check if both variables `$number_1`

and `$number_2`

are less than `50`

. Assign the boolean result to a variable called `$both_are_less_than_50`

.

When you’re done, click the `Run` button.

**2.**

Check whether the variable `$number_1`

OR `$number_2`

is greater than `100`

. Make the variable `$one_is_higher_than_100`

equal to its result.

When you’re done, click the `Run` button.

**3.**

Check whether ONLY one variable `$number_1`

or `$number_2`

is less than or equal to `10`

and assign the result to a variable `$only_one_is_less_than_10`

.

When you’re done, click the `Run` button.

**4.**

Using one of the two logical operators for negation, `-not`

or `!`

, verify that the variable `$name`

is not equal to the string ‘codecademy’. Make the boolean variable `$name_is_not_codecademy`

equal to its result.

When you’re done, click the `Run` button.

**5.**

Run the script from the terminal by typing `./logical_operators.ps1`

. To check your work, click the `Run` button.

When prompted, enter your name and any two integers. Press `Enter` to confirm.