首页 > 系统相关 >(11)Powershell赋值运算符(二)

(11)Powershell赋值运算符(二)

时间:2024-01-20 09:34:12浏览次数:41  
标签:11 PS Users Powershell 运算符 tiand 变量 赋值

(11)Powershell赋值运算符(二)

上一节介绍了Powershell赋值运算符中的 = ,+= , -= ,详细内容参考这里

本节介绍Powershell赋值运算符中的 *= , /= , %= , ++ , -- 。


1.乘法赋值运算符 (*=)

乘法赋值运算符 (*=) 对数字值执行乘法或追加指定数目的变量字符串值副本。如果变量是单个数字值,则将该值与运算符右侧的值相乘,并将结果赋值给变量。例如:

PS C:\Users\tiand>  $a=2

PS C:\Users\tiand> $a*=5

PS C:\Users\tiand> $a
10

在上面的语句中,*= 运算符组合了两个运算。首先执行乘法,然后赋值。因此,以下语句是等效的:

$a*=3    <=>    $a=($a * 3)

如果变量包含字符串值,则 PowerShell 将指定数目的字符串追加到该值,相当于将字符串复制指定的倍数,然后赋值,例如:

PS C:\Users\tiand> $a="Powershell"

PS C:\Users\tiand> $a *= 3

PS C:\Users\tiand> $a
PowershellPowershellPowershell

需要注意的是不可以对两个字符串进行相乘操作,即以下语句是无效的。
PS C:\Users\tiand> $a="Powershell"

PS C:\Users\tiand> $a *= "Powershell"
値 "Powershell" を型 "System.Int32" に変換できません。エラー: "入力文字列の形式が正しくありません。"
発生場所 行:1 文字:1
+ $a *= "Powershell"
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) []、RuntimeException
    + FullyQualifiedErrorId : InvalidCastFromStringToInteger

要对数组的元素执行乘法,需要使用索引标识要执行乘法的元素。例如,下面的命令使数组中第一个元素( 索引位置 0 )乘以 4。
PS C:\Users\tiand> $a=1,2,3

PS C:\Users\tiand> $a[0] *= 4

PS C:\Users\tiand> $a
4
2
3


2. 除法赋值运算符 (/=)

除法赋值运算符 (/=) 使数字值除以在运算符右侧指定的值。除法运算符不能用于处理字符串变量。/= 运算符组合了两个运算。首先执行除法,然后赋值。因此,以下两个语句是等效的:

$a /= 2     <=>    $a = ($a / 2)

例如下面的命令使用 /= 运算符对变量的值执行除法:

PS C:\Users\tiand> $a = 8

PS C:\Users\tiand> $a /= 4

PS C:\Users\tiand> $a
2

与乘法赋值运算符类似,如果需要需要对数组元素执行,需要指定元素的下标(索引)。

3. 模赋值运算符 (%=)

模赋值运算符 (%=) 使变量的值除以运算符右侧的值,将余数赋值给变量,即取余操作,与除法赋值运算符类似,两个操作时数字时,才能使用此运算符。如果变量包含字符串变量或数组,则不能使用此运算符。%= 运算符组合了两个运算。首先,执行除法运算并确定余数,然后将余数赋予变量。因此,以下语句是等效的:

$a %= 4    <=>   $a = ($a % 4)

下面的语句使用 %= 运算符保存商的模(余数):

PS C:\Users\tiand> $a = 9

PS C:\Users\tiand> $a %= 4

PS C:\Users\tiand> $a
1

4. 递增运算符(++)和递减运算符(--)

递增运算符 (++) 使变量的值增加 1。在简单语句中使用递增运算符时,默认不返回任何值。要查看变量结果,请输入变量名称。例如:

PS C:\Users\tiand> $a=5

PS C:\Users\tiand> ++$a

PS C:\Users\tiand> $a
6

如果要强制返回值,需要将变量和运算符括在圆括号内。例如:
PS C:\Users\tiand> $a=5

PS C:\Users\tiand> (++$a)
6

递增运算符有前缀(递增运算符放在变量之前)和后缀(递增运算符放在变量之后)。如果前缀形式,则在变量的值用于语句之前使变量递增(先自增,后运算)。例如:

PS C:\Users\tiand> $a=4

PS C:\Users\tiand> $b = ++$a

PS C:\Users\tiand> $b
5

PS C:\Users\tiand> $a
5

如果是后缀形式,则在变量的值用于语句之后使变量递增(先运算,后自增)。例如对比下面的语句和上面语句执行的不同,$b的值并没有在$a++后立刻改变:
PS C:\Users\tiand> $a=4

PS C:\Users\tiand> $b = $a++

PS C:\Users\tiand> $a
5

PS C:\Users\tiand> $b
4

递减运算符和递增运算符完全类似,请自行类推。 需要注意的是,递增和递减运算符一般用在循环结构中,重复判断某一变量是否满足一定条件以此来进行下一步运算,会在Powershell的循环部分讲到,现在你可以理解为Java或是C#中的for循环的递增变量i。

标签:11,PS,Users,Powershell,运算符,tiand,变量,赋值
From: https://www.cnblogs.com/zhang-snail/p/17976051

相关文章

  • C++11原子变量:线程安全、无锁操作的实例解析
     在C++11中,原子变量(std::atomic)提供了一种线程安全的方式来操作共享变量。下面是一个简单的例子,演示了C++11原子变量的用法。#include<iostream>#include<atomic>#include<thread>std::atomic<int>counter(0);//声明一个原子整数变量voidincrementCounter(int......
  • C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用
    运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。算术运算符算术运算符用于执行常见的数学运算:intx=100+50;//加法,结果为150inty=x-30;//减法,结果为120intz=x*2;//乘法,结果为300intw=......
  • Git必知必会基础(11):撤销操作
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html数据准备 说明:下面对file的操作,都可以用通配符gitadd<file>...比如:gitadd*.txt gitrestore<file>...比如:gitrestore--staged*.txt 修改文件(已提交过,文件已在本地仓库中)撤销:对......
  • 细说JavaScript表达式和运算符号(JavaScript表达式和运算符号详解)
    除了简单的表达式还有复杂的表达式,它是由简单表达式构成的,将简单表达式组合成复杂表达式最常见的方法就是使用运算符![细说JavaScript表达式和运算符号详解](https://img-blog.csdnimg.cn/direct/2781400b25be4b38bbf99d0c1b93d169.png)一、表达式表达式分为简单表达式和复杂......
  • $20240119$ 练习题解
    \(20240119\)练习题解CF472D通过尝试我们容易发现,与点\(1\)最近的点一定是直接儿子。我们要是把它作为突破点,那就成功了一半了。假设点\(2\)与点\(1\)最近,又假设我们可以用函数\(F(x)\)来确定\(x\)点的子树形态。那我们会发现如果我们还有剩余的节点,那么剩余的节点......
  • powershell中的比较运算符
    操作定义-eq等于-ne不等于-gt大于-ge大于或等于-lt小于-le小于或等于-Like使用 * 通配符进行匹配-NotLike不使用 * 通配符进行匹配-Match匹配指定的正则表达式-NotMatch不匹配指定的正则表达式-Contains确定集合中是否包含指定的值-NotContains确定集合是否不包含特定值-In确定......
  • (10)Powershell赋值运算符(一)
    (10)Powershell赋值运算符(一)上一节介绍了Powershell中的内置变量,细节使劲戳jiaerkuaier。本节介绍Powershell中的赋值运算符,赋值运算符可向一个变量赋予一个或多个值。赋值运算符可以在赋值之前对值执行数值运算。Powershell支持以下赋值运算符。运算符说明备注......
  • 寒假生活指导11
    importjsonimportjsonpathobj=json.load(open('073__爬虫_解析_jsonpath.json','r',encoding='utf-8'))#书店所有书的作者#author_list=jsonpath.jsonpath(obj,'$.store.book[*].author')#print(author_list)#所有的作者#author......
  • Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Jan 2024)
    Windows11version23H2中文版、英文版(x64、ARM64)下载(updatedJan2024)Windows11,version23H2,2024年1月更新请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows11目前版本所有的日期都按照I......
  • (8)Powershell中变量的定义和使用
    (8)Powershell中变量的定义和使用这一节主要介绍Powershell中变量的定义和使用,以及使用变量时应该注意的事项。和所有编程语言中的变量一样,Powershell中的变量也是存于存储值的内存单元,需要注意的是,Powershell中的变量是以美元符号($)开头的单字节(一般是英文字符,虽然ISE中支持......