Úloha 2 – Fall-through vs. break – chování větvení
Úvod do úlohy
V předchozích ukázkách jste viděli základní konstrukci switch. Aby ale fungoval správně a přehledně, je klíčové rozumět dvěma prvkům: break a default. Klíčové slovo break říká programu, že po vykonání jednoho case se má ze switch vyskočit a nepokračovat do dalších větví. Pokud break zapomeneme, dojde k tzv. propadávání (fall-through), kdy se vykonají i následující bloky. To může být někdy záměr, ale ve většině úloh je to spíše chyba. Vedle toho default představuje záchytnou větev, která se provede tehdy, když žádný case neodpovídá zadané hodnotě.
Teorie a principy
-
break:-
Zastaví běh
switchpo dokončení odpovídající větve. -
Pokud chybí, provede se i následující
caseblok(y), dokud nenarazíme nabreaknebo konecswitch.
-
-
default:-
Je volitelná větev.
-
Spustí se, když žádný
caseneodpovídá hodnotě výrazu. -
Doporučuje se ji vždy používat jako „pojistku“, aby program nezůstal bez reakce.
-
Praktické příklady kódu
1. Switch bez break – nežádoucí propadávání:
Výsledek: Pokud cislo == 2, spustí se nejprve "Dva", ale protože chybí break, pokračuje i "Tři" a "Jiná
hodnota".
2. Správně použitý break:
Výsledek: Pokud cislo == 2, spustí se pouze "Dva".
3. Ukázka default jako výchozí větve:
Pokud hodnota není v žádném case, provede se větev default.
Typické chyby / záludnosti
-
Zapomenutý break – program spustí více větví než zamýšleno.
-
Chybějící default – pokud žádný
caseneodpovídá, program nezareaguje (ne vždy je to žádoucí). -
Špatné typy hodnot – porovnání v
switchje striktní (===), proto"1"se neshoduje s1.
Shrnutí
-
breakje nutné použít na konci každéhocase, jinak nastane propadávání. -
defaultse spustí, pokud žádnýcaseneodpovídá – funguje jako pojistka. -
Správné používání
breakadefaultděláswitchpřehledným a bezpečným pro údržbu.