1.Continue语句
在PowerShell中使用Continue
语句将程序流返回到最内部循环的顶部。该语句由for
,Foreach
和while
循环控制。
当在循环中执行此语句时,将跳过continue
语句之后在该循环内执行代码,并且将开始循环的下一个迭代。它通常用于条件,以便用户可以针对特定条件跳过某些代码。
2.Continue例子
示例1:以下示例在while
循环中使用continue
语句显示从1
到10
的数字,但是不包含5
:
$a = 1
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
。
$a=10
do
{
if ($a -eq 15 -or $a -eq 18)
{
$a++
continue
}
echo $a
$a++
}while($a -le 20)
示例3:以下示例使用带有continue
语句的for
循环:
for ($k=10 ; $k -gt 0;$k--)
{
if ($k -eq 5)
{
continue
}
echo $k
}
执行上面示例代码,得到以下输出结果:
10
9
8
7
6
4
3
2
1
3.break声明
在PowerShell中使用Break
语句可立即退出循环。当在switch
或loop
语句之外使用脚本时,它也可以用于停止脚本的执行。
4.break例子
示例1:以下示例显示如何使用break
语句退出for
循环:
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
循环:
$array="Windows","Linux","MacOS","Android"
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
语句:
$num = 2
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 }
200{ echo " value is equal to 200" ; break }
}
执行上面示例代码,得到以下输出结果:
value is equal to 2