English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai attraverso esempi a conoscere i cicli annidati e il loro modo di funzionare.
Se un ciclo esiste all'interno del corpo di un altro ciclo, si chiama ciclo annidato. Questo è un esempio di ciclo for-in annidato.
for i in 1...5 { //Istruzioni del ciclo esterno for j in 1...2 { //Istruzioni del ciclo interno } //Istruzioni del ciclo esterno }
Qui, il ciclo for j in 1...2 è chiamato ciclo interno, situato all'interno del corpo del ciclo for i in 1...5 chiamato ciclo esterno.
Dovrebbe essere notato che i cicli annidati possono non contenere cicli dello stesso tipo. Ad esempio, puoi inserire un ciclo while nel corpo di un ciclo for, ma rimane comunque un ciclo annidato.
AnnidatoCiclo for-inContiene un ciclo for-in come istruzione all'interno di un altro ciclo for-in. Puoi avere un numero illimitato di cicli for-in annidati.
for i in 1...5 { print("外循环迭代 \", i) for j in 1...2 { print("内循环迭代 \", j) print("i = \(i); j = \(j)") } }
运行该程序时,输出为:
Iterazione del ciclo esterno 1 Iterazione del ciclo interno 1 i = 1; j = 1 Iterazione del ciclo interno 2 i = 1; j = 2 Iterazione del ciclo esterno 2 Iterazione del ciclo interno 1 i = 2; j = 1 Iterazione del ciclo interno 2 i = 2; j = 2 Iterazione del ciclo esterno 3 Iterazione del ciclo interno 1 i = 3; j = 1 Iterazione del ciclo interno 2 i = 3; j = 2 Iterazione del ciclo esterno 4 Iterazione del ciclo interno 1 i = 4; j = 1 Iterazione del ciclo interno 2 i = 4; j = 2 Iterazione del ciclo esterno 5 Iterazione del ciclo interno 1 i = 5; j = 1 Iterazione del ciclo interno 2 i = 5; j = 2
Nel programma sopra, il ciclo esterno itera 5 volte. In ogni iterazione del ciclo esterno, il ciclo interno itera 2 volte.
AnnidatoCiclo whileContiene un ciclo while come istruzione all'interno di un altro ciclo while. Puoi impostare un numero illimitato di cicli while annidati.
var i = 1 while i <= 5 { print("外循环迭代 \", i) var j = 1 while j <= 2 { print("内循环迭代 \", j) print("i = \(i); j = \(j)") j += 1 } i += 1 }
该程序的输出与上述程序相同。
AnnidatoCiclo repeat while Contiene un ciclo repeat-while come istruzione all'interno di un altro ciclo repeat-while. Puoi impostare un numero illimitato di cicli while annidati.
var i = 1 repeat { print("外循环迭代 \", i) var j = 1 repeat { print("内循环迭代 \", j) print("i = \(i); j = \(j)") j += 1 } while (j <= 2) i += 1 } while (i <= 5)
该程序的输出与上述程序相同。
Non è necessario avere cicli annidati dello stesso tipo. Puoi anche creare varianti di cicli annidati inserendo un tipo di ciclo in un altro tipo di ciclo.
Il programma seguente contiene diversi tipi di cicli annidati (cicli while e 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