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.

"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. ł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.

Break i continue

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" (tutaj znajdziecie listę specyfikatorów używanych w tej metodzie). Przy piętnastym powtórzeniu pętli "for", pierwszy warunek stanie się tym razem 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.

62221
Dzisiaj / TodayDzisiaj / Today232
Wczoraj / YesterdayWczoraj / Yesterday217
Tydzień / WeekTydzień / Week705
Miesiąc / MonthMiesiąc / Month1901