(7)Powershell算術運算符

    本系列博客從這一節開始是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中的加法"+"對數組和哈希表也能夠操做,會在數組節作詳細討論。

相關文章
相關標籤/搜索