1.(7)Powershell算术运算符
(7)Powershell算术运算符
本系列博客从这一节开始是Powershell的语法知识,在开始学习语法之前,希望你对Powershell有个基本的了解,比如开发工具的使用,面向对象等特性,详细内容使劲戳这里(1)-(6)的内容。
本节主要介绍Powershell中的算术运算符。
- Powershell支持以下算术运算符
运算符 | 用法 | 例子 | 注意事项 |
---|---|---|---|
+ | 将整数相加;连接字符串、数组和哈希表。 | 2+5;"str1"+"str2" | Powershell是进行算数相加还是字符串的连接是以第一个操作数的类型为准 |
- | 两个值相减 | 2-1;(Get-Date).Day-1 | |
- | 对数字取负 | -2+1 | |
* | 将整数相乘;按指定次数复制字符串和数组 | 23;"str"3 | 返回输入字符串的多个副本 |
/ | 将两个值相除 | 4/2 | |
% | 取余(返回除法运算的余数) |
下面是这些算术运算符的优先级
圆括号() > 取负数(-) > *, /, % > 加减法
注意:如果记住这些优先级太有挑战性,就了解下,只要知道括号有最高的优先级就可以了。不要写那些运算顺序含混不清的代码(脚本或是命令)。分辨清晰与否的标志就是,无论何时,你都应当可以准确表述算数的运算顺序。
下面是在Powershell中使用算数运算符的例子
PS C:\WINDOWS\system32> 1+2
3
PS C:\WINDOWS\system32> 2-1
1
PS C:\WINDOWS\system32> -7+4
-3
PS C:\WINDOWS\system32> 3*7
21
PS C:\WINDOWS\system32> 7/3
2.33333333333333
PS C:\WINDOWS\system32> 7%3
1
PS C:\WINDOWS\system32> "str"*2
strstr
PS C:\WINDOWS\system32> "Windows"+" "+"Powershell"
Windows Powershell
- Powershell加法和乘法不是严格可交换的
在上面我们提到,对于运算符"+",Powershell是进行相加还是字符串的连接是以第一个操作数的类型为准的。举个例子
PS C:\WINDOWS\system32> "file1"+1
file11
PS C:\WINDOWS\system32> 1+"file1"
Cannot convert value "file1" to type "System.Int32". Error: "Input string was not in a correct format."
At line:1 char:1
+ 1+"file1"
+ ~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastFromStringToInteger
对于乘法运算符"*",同样以第一个操作数的类型为准
PS C:\WINDOWS\system32> "str"*2
strstr
PS C:\WINDOWS\system32> 2*"str"
Cannot convert value "str" to type "System.Int32". Error: "Input string was not in a correct format."
At line:1 char:1
+ 2*"str"
+ ~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastFromStringToInteger
由以上演示结果可知,在Powershell中,加法和乘法不是严格可交换的,换句话说,Powershell中,(a + b) 并不总是等于 (b + a),而 (a * b) 也不总是等于 (b * a)。
除此之外,Powershell中的加法"+"对数组和哈希表也可以操作,会在数组节做详细讨论。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具