📅  最后修改于: 2021-01-08 02:49:38             🧑  作者: Mango
在PowerShell中,Continue语句用于将程序流返回到最内部循环的顶部。该语句由for,Foreach和while循环控制。
在循环中执行此语句时,将跳过continue语句之后在该循环内执行的代码,并且将开始循环的下一个迭代。它通常用于条件,以便用户可以针对特定条件跳过某些代码。
示例1:以下示例在while循环中使用continue语句显示从1到10的数字,而不是5:
PS C:\> $a = 1
PS C:\> while ($a -le 10)
>> {
>> if ($a -eq 5)
>> { $a += 1
>> continue
>> }
>> echo $a
>> $a += 1
>> }
输出:
1
2
3
4
6
7
8
9
10
在输出中缺少值5 ,因为如果条件为true且变量$ a的值为5,且条件为true,并且在变量递增之后遇到了continue语句,则该控件将在while循环的开头跳转以进行下一次迭代,跳过当前迭代的语句,这就是为什么echo命令不会针对当前迭代执行的原因。
示例2:下面的示例使用带有continue语句的do-while循环,该语句显示10到20之间的值,不包括15和18。
PS C:\> $a=10
PS C:\> do
>> {
>> if (($a -eq 15) ?or ($a -eq 18))
>> {
>> $a++
>> continue
>> }
>> echo $a
>> $a++
>> } while($a -le 20)
输出:
10
11
12
13
14
16
17
19
20
示例3:以下示例使用带有continue语句的for循环:
PS C:\> for ($k=10 ; $k -gt 0;$k--)
>> {
>> if ($k -eq 5)
>> {
>> continue
>> }
>> echo $k
>> }
输出:
10
9
8
7
6
4
3
2
1
在PowerShell中使用Break语句可立即退出循环。当在switch或loop语句之外使用脚本时,它也可以用于停止脚本的执行。
示例1:以下示例显示如何使用break语句退出“ for”循环:
PS C:\> for($a=1; $a -lt 10; $a++)
>> {
>> if ($a -eq 6)
>> {
>> break
>> }
>> echo $a
>> }
输出:
1
2
3
4
5
在此示例中,当变量$ a的值为6时,break语句退出“ for”循环。
示例2:以下示例显示如何使用break语句退出“ foreach”循环:
PS C:\> $array="windows","Linux","MacOS","Android"
PS C:\> foreach ($os in $array) {
>> if ($os -eq "MacOS") {
>> break
>> }
>> echo $os }
输出:
Windows
Linux
在此示例中, Foreach语句迭代数组$ array的值。每次执行代码块。 “ If ”语句前两次求值为False ,并且变量的值显示在PowerShell上。第三次,执行循环,但是变量$ array的值等于字符串“ MacOS ”。此时,将执行Break语句,并退出Foreach循环。
示例3:下面的示例显示如何使用break语句退出switch语句:
PS C:\> $num = 2
PS C:\> switch($num)
>> {
>> 1{ echo "value is equal to 1"}
>> 2{ echo " value is equal to 2" ; break }
>> 3{ echo " value is equal to 3" ; break }
>> 2{ echo " value is equal to 2" ; break }
>> }
输出:
value is equal to 2