本系列博客從這一節開始是Powershell的語法知識,在開始學習語法以前,但願你對Powershell有個基本的瞭解,好比開發工具的使用,面向對象等特性,詳細內容使勁戳這裏(1)-(6)的內容。shell
本節主要介紹Powershell中的算術運算符。數組
Powershell支持如下算術運算符ide
運算符 |
用法 |
例子 | 注意事項 |
---|---|---|---|
+ | 將整數相加;鏈接字符串、數組和哈希表。 | 2+5;"str1"+"str2" | Powershell是進行算數相加仍是字符串的鏈接是以第一個操做數的類型爲準 |
- | 兩個值相減 | 2-1;(Get-Date).Day-1 |
|
- |
對數字取負 | -2+1 | |
* |
將整數相乘;按指定次數複製字符串和數組 | 2*3;"str"*3 | 返回輸入字符串的多個副本 |
/ | 將兩個值相除 | 4/2 | |
% | 取餘(返回除法運算的餘數) |
下面是這些算術運算符的優先級工具
圓括號() > 取負數(-) > *, /, % > 加減法學習
注意:若是記住這些優先級太有挑戰性,就瞭解下,只要知道括號有最高的優先級就能夠了。不要寫那些運算順序含混不清的代碼(腳本或是命令)。分辨清晰與否的標誌就是,不管什麼時候,你都應當能夠準確表述算數的運算順序。開發工具
下面是在Powershell中使用算數運算符的例子
spa
PS C:\Documents and Settings\Administrator> 1+2 3 PS C:\Documents and Settings\Administrator> 2-1 1 PS C:\Documents and Settings\Administrator> -7+4 -3 PS C:\Documents and Settings\Administrator> 3*7 21 PS C:\Documents and Settings\Administrator> 7/3 2.33333333333333 PS C:\Documents and Settings\Administrator> 7%3 1 PS C:\Documents and Settings\Administrator> "str"*2 strstr PS C:\Documents and Settings\Administrator> "Windows"+" "+"Powershell" Windows Powershell PS C:\Documents and Settings\Administrator> 2*"str" 「*」運算符失敗: 沒法將值「str」轉換爲類型「System.Int32」。錯誤:「輸入字符串的格式不正確。」。 所在位置 行:1 字符: 3 + 2* <<<< "str" + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : OperatorFailed
Powershell加法和乘法不是嚴格可交換的對象
在上面咱們提到,對於運算符"+",Powershell是進行相加仍是字符串的鏈接是以第一個操做數的類型爲準的。舉個例子blog
PS C:\Documents and Settings\Administrator> "file1"+1 file11 PS C:\Documents and Settings\Administrator> 1+"file1" 沒法將值「file1」轉換爲類型「System.Int32」。錯誤:「輸入字符串的格式不正確。」 所在位置 行:1 字符: 3 + 1+ <<<< "file1" + CategoryInfo : NotSpecified: (:) [], RuntimeException + FullyQualifiedErrorId : RuntimeException
對於乘法運算符"*",一樣以第一個操做數的類型爲準
ci
PS C:\Documents and Settings\Administrator> "str"*2 strstr PS C:\Documents and Settings\Administrator> 2*"str" 「*」運算符失敗: 沒法將值「str」轉換爲類型「System.Int32」。錯誤:「輸入字符串的格式不正確。」。 所在位置 行:1 字符: 3 + 2* <<<< "str" + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : OperatorFailed
由以上演示結果可知,在Powershell中,加法和乘法不是嚴格可交換的,換句話說,Powershell中,(a + b) 並不老是等於 (b + a),而 (a * b) 也不老是等於 (b * a)。
除此以外,Powershell中的加法"+"對數組和哈希表也能夠操做,會在數組節作詳細討論。