(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。

相关文章
相关标签/搜索