Perl 循环 for, foreach, while, do…while, until, 嵌套循环

Perl 循环 for, foreach, while, do…while, until, 嵌套循环

编程语言中的循环是一种功能,它有助于在某些条件评估为真时重复执行一组指令或函数。循环使程序员的任务更加简单。Perl提供了不同类型的循环来处理程序中基于条件的情况。Perl中的循环有:

for 循环

for “循环 提供了一种写循环结构的简明方式。与 while 循环不同,for 语句在一行中完成了初始化、条件和增量/减量,从而提供了一种更短的、易于调试的循环结构。

语法:

for (init statement; condition; increment/decrement ) 
{
    # Code to be Executed
}

流程图:

循环 for, foreach, while, do...while, until, 嵌套循环

一个for循环在一个预定的控制流上工作。控制流可以通过以下方式确定:

  • init语句: 这是第一个被执行的语句。在这一步,我们初始化一个控制循环的变量。
  • 条件: 在这一步中,给定的条件被评估,如果为真,则for循环运行。这也是一个 入口控制循环 ,因为在执行循环语句之前会检查条件。
  • 语句执行: 一旦条件被评估为真,循环体中的语句就被执行。
  • 增量/减量: 循环控制变量在这里被改变(增量或减量),以便为下一次迭代更新变量。
  • 循环终止: 当条件变为假时,循环终止,标志着其生命周期的结束。

示例:

# Perl program to illustrate
# the for loop
 
# for loop
for (count = 1 ;count <= 3 ; $count++)
{
    print "GeeksForGeeks\n"
}

输出:

GeeksForGeeks
GeeksForGeeks
GeeksForGeeks

foreach 循环

foreach 循环用于在一个列表上进行迭代,变量一次保存列表中元素的值。它主要用于当我们在一个列表中有一组数据,而我们想在列表中的元素上进行迭代,而不是在其范围内迭代。每个元素的迭代过程由循环自动完成。

语法:

foreach variable 
{
    # Code to be Executed
}

流程图:

循环 for, foreach, while, do...while, until, 嵌套循环

示例:

# Perl program to illustrate
# the foreach loop
 
# Array
@data = ('GEEKS', 'FOR', 'GEEKS');
 
# foreach loop
foreach word (@data)
{
    printword
}

输出:

GEEKSFORGEEKS

while 循环

while 循环通常在括号中接受一个表达式。如果该表达式为 “真”,则执行while循环主体中的代码。当我们不知道要执行循环的次数,但我们知道循环的终止条件时,就可以使用while循环。它也被称为 入口控制循环 ,因为在执行循环之前会检查条件。while 循环可以被认为是一个重复的 if 语句。

语法:

while (condition)
{
    # Code to be executed
}

流程图:

循环 for, foreach, while, do...while, until, 嵌套循环

示例:

# Perl program to illustrate
# the while loop
 
# while loop
count = 3;
while (count >= 0)
{
    count =count - 1;
    print "GeeksForGeeks\n";
}

输出:

GeeksForGeeks
GeeksForGeeks
GeeksForGeeks
GeeksForGeeks

无限次的while循环: while循环可以无限次地执行,这意味着这个循环没有终止条件。换句话说,我们可以说有一些条件始终为真,这导致while循环无限次执行,或者我们可以说它永远不会终止。

  • 例子: 下面的程序将无限次地打印指定的语句,并在在线IDE
    上给出运行时错误: Output Limit Exceeded。
# Perl program to illustrate
# the infinite while loop
 
# infinite while loop
# containing condition 1
# which is always true
while(1)
{
    print "Infinite While Loop\n";
}
  • 输出:
Infinite While Loop
Infinite While Loop
Infinite While Loop
Infinite While Loop
.
.
.
.

do…. while 循环

do…while循环与while循环几乎相同。唯一的区别是do.while循环至少运行一次。条件在第一次执行后被检查。当我们希望循环至少运行一次时,就可以使用do…while循环。它也被称为 退出控制循环 ,因为条件在执行循环后被检查。

语法:

do {

    # statements to be Executed

} while(condition);

流程图:

循环 for, foreach, while, do...while, until, 嵌套循环

示例:

# Perl program to illustrate
# do..while Loop
 
a = 10;
 
# do..While loop
do {
 
    print "a ";
    a =a - 1;
} while ($a > 0);

输出:

10 9 8 7 6 5 4 3 2 1

until 循环

until 循环 与 while 循环相反。它在括号中接受一个条件,只运行到该条件为假为止。基本上,它重复一条指令或一组指令,直到条件为假。它也是入口控制器循环,即首先检查条件,然后执行一个块内的指令集。

语法:

until (condition) 
{
   # Statements to be executed
}

流程图:

循环 for, foreach, while, do...while, until, 嵌套循环

示例:

# Perl program to illustrate until Loop
 
a = 10;
 
# until loop
until (a < 1)
{
    print "a ";
    a = $a - 1;
}

输出:

10 9 8 7 6 5 4 3 2 1

嵌套循环

嵌套循环是一个循环中的循环。Perl编程也支持嵌套循环。所有以上讨论的循环都可以被嵌套。

在Perl中不同的嵌套循环的语法:

  • 嵌套的for循环
for (init statement; condition; increment/decrement ) 
{
    for (init statement; condition; increment/decrement ) 
    {
         # Code to be Executed
    }
}
  • 嵌套的foreach循环
foreach variable_1 (@array_1) {

    foreach variable_2 (@array_2) 
   {

       # Code to be Executed
   } 
}
  • 嵌套的while循环
while (condition)
{
    while (condition)
    {
        # Code to be Executed
    }
}
  • 嵌套的do…while循环
do{
    do{

        # Code to be Executed

       }while(condition);

}while(condition);
  • 嵌套的until循环
until (condition) {

    until (condition) 
    {
       # Code to be Executed
    }
}

例如:

# Perl program to illustrate
# nested while Loop
 
a = 5;b = 0;
 
# outer while loop
while (a<7)
{
   b = 0;
    
   # inner while loop
   while ( b <7 )
   {
      print "value of a =a, b = b\n";
      b = b + 1;
   }
    
   a = a + 1;
   print "Value of a =a\n\n";
}

输出:

value of a = 5, b = 0
value of a = 5, b = 1
value of a = 5, b = 2
value of a = 5, b = 3
value of a = 5, b = 4
value of a = 5, b = 5
value of a = 5, b = 6
Value of a = 6

value of a = 6, b = 0
value of a = 6, b = 1
value of a = 6, b = 2
value of a = 6, b = 3
value of a = 6, b = 4
value of a = 6, b = 5
value of a = 6, b = 6
Value of a = 7

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程