English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este artículo, aprenderá a través de ejemplos sobre los bucles anidados y su modo de funcionamiento.
Si un bucle existe dentro del cuerpo de otro bucle, se llama bucle anidado. Esto es for anidado.-Ejemplo de bucle in
for i in 1...5 { //Sentencias del bucle exterior for j in 1...2 { //Sentencias del bucle interior } //Sentencias del bucle exterior }
Aquí, for j in 1...2 Llamado bucle interior, que se encuentra dentro de for i in 1...5Llamado cuerpo del bucle exterior.
Es importante tener en cuenta que los bucles anidados no necesariamente deben contener el mismo tipo de bucle. Por ejemplo, puede poner un bucle while en el cuerpo de un bucle for, pero aún así es un bucle anidado.
Anidadofor-En el bucle inEn otro for-Incluye un for en el bucle in-Como una sentencia. Puede tener un número ilimitado de for anidados según sea necesario.-En el bucle in
for i in 1...5 { print("外循环迭代 ", i) for j in 1...2 { print("内循环迭代 ", j) print("i = \(i); j = \(j)") } }
运行该程序时,输出为:
Iteración del bucle exterior 1 Iteración del bucle interior 1 i = 1; j = 1 Iteración del bucle interior 2 i = 1; j = 2 Iteración del bucle exterior 2 Iteración del bucle interior 1 i = 2; j = 1 Iteración del bucle interior 2 i = 2; j = 2 Iteración del bucle exterior 3 Iteración del bucle interior 1 i = 3; j = 1 Iteración del bucle interior 2 i = 3; j = 2 Iteración del bucle exterior 4 Iteración del bucle interior 1 i = 4; j = 1 Iteración del bucle interior 2 i = 4; j = 2 Iteración del bucle exterior 5 Iteración del bucle interior 1 i = 5; j = 1 Iteración del bucle interior 2 i = 5; j = 2
En el programa anterior, el bucle exterior itera5vez. En cada iteración del bucle exterior, cada iteración del bucle interior2vez. En cada iteración del bucle exterior, cada iteración del bucle interior
AnidadoBucle whileIncluye un bucle while, como una sentencia dentro de otro bucle while. Puede establecer un número ilimitado de bucles while anidados según sea necesario.
var i = 1 while i <= 5 { print("外循环迭代 ", i) var j = 1 mientras (j <= 2 { print("内循环迭代 ", j) print("i = \(i); j = \(j)") j += 1 } i += 1 }
该程序的输出与上述程序相同。
AnidadoBucle repeat while anidado Incluye un repeat-Un bucle while como otro repeat-Sentencias dentro de un bucle while. Puede establecer un número ilimitado de bucles while anidados según sea necesario.
var i = 1 repita { print("外循环迭代 ", i) var j = 1 repita { print("内循环迭代 ", j) print("i = \(i); j = \(j)") j += 1 } mientras (j <= 2) i += 1 } mientras (i <= 5)
该程序的输出与上述程序相同。
No es necesario que las bucles anidadas tengan el mismo tipo. También se pueden crear variantes de bucles anidados colocando un tipo de bucle dentro de otro tipo de bucle.
下面的程序包含不同类型的嵌套循环(while和for-in循环)。
var i = 1 while i <= 5 { print("外循环迭代 ", i) for j in 1...2 { print("内循环迭代 ", j) print("i = \(i); j = \(j)") } i += 1 }
该程序的输出与上述程序相同。
嵌套循环通常用于在编程中创建模式。下面的程序显示了如何使用嵌套循环创建简单的图案。
let rows = 5 for i in 1...rows { for j in 1...i { print("\(j) ", terminator: "") } print("") }
运行该程序时,输出为:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5