Programowanie w rzutki - pętle
Czasami niektóre instrukcje wymagają ponownego wykonania. Pętle to idealny sposób na zrobienie tego samego. Pętla reprezentuje zestaw instrukcji, które należy powtórzyć. W kontekście pętli powtórzenie jest określane jakoiteration.
Poniższy rysunek ilustruje klasyfikację pętli -
Zacznijmy dyskusję od Definite Loops. Pętla, której liczba iteracji jest określona / ustalona, jest określana jakodefinite loop.
Sr.No | Pętla i opis |
---|---|
1 | dla pętli Plik forpętla jest implementacją określonej pętli. Pętla for wykonuje blok kodu określoną liczbę razy. Może być używany do iteracji po ustalonym zestawie wartości, takim jak tablica |
2 | dla… w pętli Pętla for ... in służy do przeglądania właściwości obiektu. |
Przechodząc dalej, omówmy teraz nieokreślone pętle. Nieokreślona pętla jest używana, gdy liczba iteracji w pętli jest nieokreślona lub nieznana. Nieokreślone pętle można zaimplementować za pomocą -
Sr.No | Pętla i opis |
---|---|
1 | while Loop Pętla while wykonuje instrukcje za każdym razem, gdy określony warunek przyjmuje wartość true. Innymi słowy, pętla ocenia warunek przed wykonaniem bloku kodu. |
2 | zrób… while Loop Pętla do… while jest podobna do pętli while, z tą różnicą, że pętla do ... while nie ocenia warunku po raz pierwszy wykonywana przez pętlę. |
Przejdźmy teraz i omówmy Loop Control Statements Dart.
Sr.No | Oświadczenie i opis kontroli |
---|---|
1 | instrukcja break Plik breakInstrukcja służy do wyjęcia kontroli z konstrukcji. Za pomocąbreakw pętli powoduje, że program wychodzi z pętli. Poniżej znajduje się przykładbreak komunikat. |
2 | dalej Oświadczenie Plik continue instrukcja pomija kolejne instrukcje w bieżącej iteracji i przenosi sterowanie z powrotem na początek pętli. |
Używanie etykiet do sterowania przepływem
ZA labelto po prostu identyfikator, po którym następuje dwukropek (:), który jest stosowany do instrukcji lub bloku kodu. Etykieta może być używana zbreak i continue aby dokładniej kontrolować przepływ.
Podziały wiersza nie są dozwolone między ‘continue’ lub ‘break’instrukcja i nazwa etykiety. Ponadto między nazwą etykiety a skojarzoną pętlą nie powinno być żadnych innych instrukcji.
Przykład: etykieta z przerwą
void main() {
outerloop: // This is the label name
for (var i = 0; i < 5; i++) {
print("Innerloop: ${i}");
innerloop:
for (var j = 0; j < 5; j++) {
if (j > 3 ) break ;
// Quit the innermost loop
if (i == 2) break innerloop;
// Do the same thing
if (i == 4) break outerloop;
// Quit the outer loop
print("Innerloop: ${j}");
}
}
}
Następujące output jest wyświetlany po pomyślnym wykonaniu powyższego kodu.
Innerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 2
Innerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 4
Przykład: etykieta z kontynuacją
void main() {
outerloop: // This is the label name
for (var i = 0; i < 3; i++) {
print("Outerloop:${i}");
for (var j = 0; j < 5; j++) {
if (j == 3){
continue outerloop;
}
print("Innerloop:${j}");
}
}
}
Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2