上一节介绍了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。