Operators
Operators are used to perform specific mathematical or logical functions on data, often stored in variables. PowerShell offers multiple types of operators to manipulate data including:
- Arithmetic Operators
- Assignment Operators
- Unary Operators
- Equality Comparison Operators
- Logical Operators
Arithmetic Operators
PowerShell arithmetic operators are used to calculate numeric values. These include:
Operator | Name | Description |
---|---|---|
+ |
Addition | Adds numbers, concatenates strings and arrays. |
- |
Subtraction | Subtracts or negates numbers. |
* |
Multiplication | Multiplies numbers or copies strings and arrays a specified number of times. |
/ |
Division | Divides numbers. |
% |
Modulo | Returns the remainder of a division operation. |
Arithmetic operators are binary operators, which means they act on two operands. Their syntax in PowerShell is <Operand_1> <Arithmetic Operator> <Operand_2>
.
$x = 5 + 5# x is now 10$x = $x - 8# x is now 2$x = $x * 3# x is now 6$x = $x / 2# x is now 3$x = $x % 2# x is now 1
Arithmetic operators, +
and *
, also work on strings and arrays.
PS > $best_learning_platform = "Code" + "cademy"PS > $best_learning_platform + "!" * 3Codecademy!!!
PS > $fibonacci_1 = 0, 1, 1PS > $fibonacci_2 = 2, 3, 5PS > $fibonacci_1 + $fibonacci_2011235PS > $fibonacci_2 * 2235235
Assignment Operators
Assignment operators can be used to assign, change, or append values to variables. These operators are a shorter syntax for assigning the result of an arithmetic operator. The general syntax of the assignment operators is: <Variable> <Assignment Operator> <Value>
.
Operator | Name | Description |
---|---|---|
= |
Assignment | $x = 3 assigns value 3 to variable x . |
+= |
Addition Compound Assignment | $x += 3 is short for $x = $x + 3 . |
-= |
Subtraction Compound Assignment | $x -= 3 is short for $x = $x - 3 . |
*= |
Multiplication Compound Assignment | $x *= 3 is short for $x = $x * 3 . |
/= |
Division Compound Assignment | $x /= 3 is short for $x = $x / 3 . |
%= |
Modulo Compound Assignment | $x %= 3 is short for $x = $x % 3 . |
Example
PS > $number = 4PS > $number += 6 # $number is now 10PS > $number /= 2 # $number is now 5PS > $number5
Unary Operators
Unary operators increase or decrease the value of a variable by 1.
Operator | Name | Description |
---|---|---|
++ |
Increment | $x++ is short for $x = $x + 1 . |
-- |
Decrement | $x-- is short for $x = $x - 1 . |
Equality Comparison Operators
Equality operators in PowerShell are binary operators that compare two integer or string values that return True
if the operator condition is met, otherwise False
.
Operator | Name | Description |
---|---|---|
-eq |
Equal | $x -eq $y is True if x and y are equal. |
-ne |
Not Equal | $x -ne $y is True if x and y are not equal. |
-gt |
Greater Than | $x -gt $y is True if x is greater than y . |
-lt |
Less Than | $x -lt $y is True if x is less than y . |
-ge |
Greater Than or Equal to | $x -ge $y is True if x is greater than or equal to y . |
-le |
Less Than or Equal to | $x -le $y is True if x is less than or equal to y . |
Logical Operators
Logical operators allow us to combine multiple operator expressions and statements into complex conditionals. They operate on boolean values and return boolean values.
Operator | Name | Description |
---|---|---|
-and |
And | $x -and $y is True only if $x and $y are both True . |
-or |
Or | $x -or $y is True if either $x or $y is True . |
-xor |
Xor | $x -xor $y is True if only, but not both, $x or $y is True . |
! or -not |
Not | !$x is True when $x is False and False when $x is True . |
Operator Precedence
Precedence order is the order in which PowerShell evaluates the operators if multiple operators are used in the same expression. Operator precedence in PowerShell is as follows:
- Parentheses:
( )
- Unary operators:
++
,--
!
,not
- Arithmetic operators:
*
,/
,%
,+
,-
- Comparison operators:
-eq
,-ne
,-gt
,-ge
,-lt
,-le
-and
,-or
,-xor
- Assignment operators:
=
,+=
,-=
,*=
,/=
,%=
Examples
PS > $num_1 = 4PS > $num_2 = 3PS > $num_1 -lt $num_2 # num_1 is not less than num_2FalsePS > $num_2++ # num_2 is now 4PS > $num_1 -ge $num_2 # num_1 is greater than or equal to num_2TruePS > $num_1 /= 2 # num_1 is now 2PS > $num_1 -lt $num_2 -xor $num_1 -ge $num_2 # True because only one expression is TrueTrue
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn PowerShell on Codecademy
- Career path
Computer Science
Looking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!Includes 6 CoursesWith Professional CertificationBeginner Friendly75 hours - Free course
Learn PowerShell
Jump into PowerShell through interactive lessons on variables, operators, control flow, objects, arrays, and functions.Beginner Friendly6 hours