本系列博客从这一节开始是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中的加法"+"对数组和哈希表也能够操做,会在数组节作详细讨论。