(11)Powershell賦值運算符(二)

上一節介紹了Powershell賦值運算符中的 = ,+= , -= ,詳細內容參考這裏。 shell


本節介紹Powershell賦值運算符中的 *= , /= , %= , ++ , -- 。數組



1.乘法賦值運算符 (*=)ide

    乘法賦值運算符 (*=) 對數字值執行乘法或追加指定數目的變量字符串值副本。若是變量是單個數字值,則將該值與運算符右側的值相乘,並將結果賦值給變量。例如:spa

PS C:\> $a=2
PS C:\> $a*=5
PS C:\> $a
10

    在上面的語句中,*= 運算符組合了兩個運算。首先執行乘法,而後賦值。所以,如下語句是等效的:blog

PS C:\> $a*=3
PS C:\> $a=($a * 3)

    若是變量包含字符串值,則 PowerShell 將指定數目的字符串追加到該值,至關於將字符串複製指定的倍數,而後賦值,例如:索引

PS C:\> $a="Powershell"
PS C:\> $a *= 3
PS C:\> $a
PowershellPowershellPowershell

    須要注意的是不能夠對兩個字符串進行相乘操做,即如下語句是無效的。
ci

PS C:\> $a="Powershell"
PS C:\> $a *= "Powershell"
沒法將值「Powershell」轉換爲類型「System.Int32」。錯誤:「輸入字符串的格式不正確。」
所在位置 行:1 字符: 6
+ $a *= <<<<  "Powershell"
    + CategoryInfo          : NotSpecified: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException

    要對數組的元素執行乘法,須要使用索引標識要執行乘法的元素。例如,下面的命令使數組中第一個元素( 索引位置 0 )乘以 4。字符串

PS C:\> $a=1,2,3
PS C:\> $a[0] *= 4
PS C:\> $a
4
2
3

2. 除法賦值運算符 (/=)get

    除法賦值運算符 (/=) 使數字值除以在運算符右側指定的值。除法運算符不能用於處理字符串變量。/= 運算符組合了兩個運算。首先執行除法,而後賦值。所以,如下兩個語句是等效的:it

PS C:\> $a /= 2
PS C:\> $a = ($a / 2)

    例以下面的命令使用 /= 運算符對變量的值執行除法:

PS C:\> $a = 8
PS C:\> $a /= 4
PS C:\> $a
2

    與乘法賦值運算符相似,若是須要須要對數組元素執行,須要指定元素的下標(索引)。


3. 模賦值運算符 (%=)

    模賦值運算符 (%=) 使變量的值除以運算符右側的值,將餘數賦值給變量,即取餘操做,與除法賦值運算符相似,兩個操做時數字時,才能使用此運算符。若是變量包含字符串變量或數組,則不能使用此運算符。%= 運算符組合了兩個運算。首先,執行除法運算並肯定餘數,而後將餘數賦予變量。所以,如下語句是等效的:

PS C:\> $a %= 4
PS C:\> $a = ($a % 4)

    下面的語句使用 %= 運算符保存商的模(餘數):

PS C:\> $a = 9
PS C:\> $a %= 4
PS C:\> $a
1

4. 遞增運算符(++)和遞減運算符(--)

    遞增運算符 (++) 使變量的值增長 1。在簡單語句中使用遞增運算符時,默認不返回任何值。要查看變量結果,請輸入變量名稱。例如:

PS C:\> $a=5
PS C:\> ++$a
PS C:\> $a
6

    若是要強制返回值,須要將變量和運算符括在圓括號內。例如:

PS C:\> $a=5
PS C:\> (++$a)
6

    遞增運算符有前綴(遞增運算符放在變量以前)和後綴(遞增運算符放在變量以後)。若是前綴形式,則在變量的值用於語句以前使變量遞增(先自增,後運算)。例如:

PS C:\> $a=4
PS C:\> $b = ++$a
PS C:\> $b
5
PS C:\> $a
5

    若是是後綴形式,則在變量的值用於語句以後使變量遞增(先運算,後自增)。例如對比下面的語句和上面語句執行的不一樣,$b的值並無在$a++後馬上改變:

PS C:\> $a=4
PS C:\> $b = $a++
PS C:\> $a
5
PS C:\> $b
4

    遞減運算符和遞增運算符徹底相似,請自行類推。 須要注意的是,遞增和遞減運算符通常用在循環結構中,重複判斷某一變量是否知足必定條件以此來進行下一步運算,會在Powershell的循環部分講到,如今你能夠理解爲Java或是C#中的for循環的遞增變量i。

相關文章
相關標籤/搜索