Ú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 switch po dokončení odpovídající větve.

    • Pokud chybí, provede se i následující case blok(y), dokud nenarazíme na break nebo konec switch.

  • default:

    • Je volitelná větev.

    • Spustí se, když žádný case neodpoví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ý case neodpovídá, program nezareaguje (ne vždy je to žádoucí).

  • Špatné typy hodnot – porovnání v switch je striktní (===), proto "1" se neshoduje s 1.

Shrnutí

  • break je nutné použít na konci každého case, jinak nastane propadávání.

  • default se spustí, pokud žádný case neodpovídá – funguje jako pojistka.

  • Správné používání break a default dělá switch přehledným a bezpečným pro údržbu.