Learn

Just like in mathematics, the order in which operators are evaluated matters in programming. Operator precedence in PowerShell is as follows:

  • ( )
  • ++ --
  • ! -not
  • * / %
  • + -
  • -is -isnot -as
  • -eq -ne -gt -ge -lt -le
  • -contains -notContains
  • -and -or -xor
  • = += -= *= /= %=

Precedence order is the order in which PowerShell evaluates the operators if multiple operators are used in the same expression. Parentheses ( ) take the highest priority, and the assignment operators have the least priority. Operators on the same level are evaluated from left to right. Consider the example below.

PS > 5 - 1 * 5 0

The multiplication operator * has higher precedence than the subtraction operator -. Thus, in the example above, the expression 1 * 5 is evaluated first, resulting in 5 - 5, which equals 0.

We can use parentheses to override the precedence order and force PowerShell to evaluate a part of an expression first.

PS > (5 - 1) * 5 20

Instructions

1.

In the script file named expression_precedence.ps1, we have three expressions that return 8, 6, and False respectively. These results are not what we are looking for. Let’s use parentheses ( ) to acquire the desired results.

For expression_1, we want 4 as a result. Put parentheses around the expression 2 + 4 * 2.

Click Run when you’re done and your result will output in the terminal.

2.

We want 2 to be the result of expression_2. Enclose the expression 3 * (2 + 1) with parentheses and click Run.

3.

The way it is now, expression_3 is currently returning False. We want this to be True.

Remove parentheses around 3 + 2 -ne 5 and put parentheses around 2 -ne 5 instead. Remove parentheses around 5 -gt 8 and put parenthesis around the -gt operator expression 2 * 5 -gt 8.

Click the Run button to run the script file expression_precedence.ps1 one last time. The three expressions should now return 4, 2, and True respectively.

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?