Search
Jedná se o cyklus, ve kterém jsou předem známa omezovací kritéria. Těmi jsou : počáteční hodnota, ukončující podmínka a ovlivnění řídící proměnné.
Cyklus for má následující syntaxi :
for (výraz_start;výraz_stop;výraz_iterace) příkaz;
Při prvním vstupu do cyklu se vyhodnotí výraz_start, pak se otestuje výraz_stop a pokud je pravdivý provede se příkaz. Potom se provede výraz_iterace a cyklus běží znovu. Při druhém a dalším cyklu se již nevyhodnocuje výraz_start. Pokud je výraz_stop nepravdivý, cyklus se ukončí.
Pro kód :
for (int i = 1;i < 6;i++) System.out.println("AHOJ");
Pokud je potřeba v těle cyklu použití více příkazů, vkládají se do bloku odděleného složenými závorkami.
for (výraz_start;výraz_stop;výraz_iterace){ příkaz1; příkaz2; příkaz3; }
Výrazy výraz_start, výraz_stop a výraz_iterace se nutně nemusí nacházet v hlavičce cyklu. Potom je ale nezbytné uvést středníky! Navíc se v případě absence výraz_stop může stát smyčka nekonečná!
Cyklus while má následující syntaxi :
while (logický_výraz) příkaz
Jak to funguje?
Otestuje se logický_výraz a pokud je pravdivý, program vstoupí do cyklu a provede se příkaz. Toto se stále opakuje a pokud logický_výraz již není pravdivý, je cyklus opuštěn. Cyklus while se používá tehdy, pokud je podmínka pro jeho ukončení závislá na některém příkazu uvnitř cyklu. Pokud logický_výraz nebude pravdivý, příkaz v cyklu se nikdy neprovede.
while(logický_výraz){ příkaz1; příkaz2; příkaz3; }
int i = 1; while (i < 6){ System.out.println("AHOJ"); i++; }
Poznámka
Pokud je logický_výraz splněn vždy lze tímto způsobem vytvořit nekonečný cyklus!
Cyklus do while má následující syntaxi :
do { příkaz/y; }while (logický_výraz);
Program vstoupí do cyklu a provede příkaz/y. Otestuje se logický_výraz a pokud je pravdivý, cyklus se opakuje. Pokud logický_výraz již není pravdivý, je cyklus opuštěn. Je zřejmé, že narozdíl od cyklu while jsou příkazy provedeny minimálně jednou.
int i = 1; do { System.out.println("AHOJ"); i++; }while (i < 6);
Příkaz break ukončuje nejvnitřnější neuzavřenou smyčku - ihned opouští cyklus.
int i; for (i = 1; i <= 10; i++){ System.out.print(i+" "); if (i = 5) break; System.out.print("dalsi cislo ") }
Příkaz continue skáče na konec nejvnitřnější neuzavřené smyčky a vynutí si další iteraci (pokud se vyhoví podmínkám).
Program :
int i; for (i = 1; i <= 10; i++){ System.out.print(i+" "); if (i >= 5) continue; System.out.print("dalsi cislo ") }
Příkaz return ukončí provádění metody (funkce), která jej obsahuje. Pokud je napsán v hlavním programu (metoda main()) je tento ukončen.