Na dzisiaj kolejna dawka nauki programowania. Omówimy wspólnie różnicę pomiędzy słowem kluczowym "break" i "continue". Jakie jest ich zastosowanie w pętli i jaki mają wpływ na jej przebieg? Artykuł przyniesie odpowiedzi na te pytania, a na końcu znajduje się przykładowy kod źródłowy.
Tweet |
"BREAK" I "CONTINUE". WPŁYW NA PĘTLĘ
Powyższe słowa kluczowe czyli "break" i "continue" umożliwiają zmianę przebiegu pętli, nieważne czy to "while", "do while" czy "for". Obejmują one wszystkie rodzaje pętli bez wyjątku. Znajdziemy je w przeważającej większości języków programowania. Jeśli chcemy być traktowani poważnie jako programiści, musimy koniecznie rozróżniać jedno od drugiego. To nie jest aż takie skomplikowane, aczkolwiek należy znać różnicę na pamięć i już w trakcie pisania ocenić które z nich będzie się lepiej nadawało.
- "break" (ang. "przerywać" / "łamać") powoduje natychmiastowe przerwanie działania całej pętli i przejście do następnej instrukcji zaraz po bloku pętli
- "continue" (ang. "kontynuować") przerywa aktualną iterację pętli i przechodzi do jej początku sprawdzając ponownie warunek, ale nie opuszcza bloku pętli
Widzicie różnicę? Istotną różnicę? Ze słowa "break" korzystacie wtedy, gdy chcecie przerwać całą pętlę i nakazać komputerowi, aby wykonywał kolejne instrukcje już poza pętlą, a "continue" ma być przez Was wykorzystywane wówczas, kiedy chcecie nakazać "ignorowanie" aktualnej iteracji pętli i przejście do ponownego wykonywania tego samego bloku instrukcji jedynie przestawiając licznik. Na tym polega ta różnica pomiędzy "break" i "continue". Niewielka, ale bardzo istotna.
Słowa kluczowe "break" i "continue" różnią się wywieraniem wpływu na dalszy przebieg pętli w której się znajdują.
PRZYKŁADOWY KOD ŹRÓDŁOWY
Wiem z autopsji, że słowa zwykle nie wystarczają, a już na pewno nie w kontekście zrozumienia programowania. Aby odciążyć Was od wymyślania jakiegoś sensownego przykładu w celu ukazania różnicy, pozwólcie że Was wyręczę i dam Wam prosty przykład w języku C, który każdy średnio rozgarnięty będzie w stanie bez problemu sobie przenieść na swój własny język. Przed Wami, fragment kodu z wykorzystaniem "break" i "continue":
#include <stdio.h>
int main(void)
{
for (int i = 1; i <= 20; ++i)
{
if(i == 15)
{
puts("Breaking the loop...");
break;
}
else if(i == 10)
{
puts("Skipping current iteration...");
continue;
}
printf("Execution no. %d.\n", i);
}
return 0;
}
Po analizie powyższego kodu można dostrzec użycie obu słów kluczowych "break" i "continue". Przy iteracji #10, instrukcja warunkowa "przepuści" komputer, spowoduje wypisanie komunikatu "Skipping current iteration...", a potem natrafi na słówko "continue" i pominie dalszą część pętli, tym samym pomijając kolejne wywołanie funkcji "printf". Przy piętnastym powtórzeniu pętli "for", tym razem pierwszy warunek stanie się prawdziwy, wypisze tekst "Breaking the loop..." i natrafi na "break", w tym momencie dochodzi do przerwania całej pętli. Tak właśnie działa "break" i "continue".
Dobra. Kończę na dzisiaj. Dzięki za pełne przeczytanie i mam nadzieję, że od tej pory będziecie potrafili rozróżnić powyższe słowa kluczowe.