LeJos - Větvení programu
Jak program rozvětvit ?
Konstrukce IF
Základní zápis vypadá následovně:
Rozšířená varianta:
Podmínka je výraz jehož výsledkem může být pouze true (ano) nebo false (ne).
Ukázky podmínek:
Složené podmínky
Pokud chceme posoudit platnost více podmínek musíme je spojit pomocí logických operátorů AND (a zároveň) nebo OR (nebo).
Příklad na operátor AND (obě podmínky musí platit současně):
Větvení do více větví - příkaz switch
Pokud chceme program rozvětvit do více větví můžeme do sebe podmínky IF vnořovat, přehlednější je ale použít konstrukci switch. Proměnná musí být typu char, byte, short nebo int !
V ukázce je hod kostkou:
Program vykonává všechny příkazy tak jak jdou za sebou. Některé příkazy se ale mají vykonat pouze v určité situaci. Například robot udělá otočku pouze v případě, že vidí ultrazvukovým senzorem překážku.
K tomu slouží větvení programu pomocí příkazu if (když) nebo switch - case (přepni - v případě).
Konstrukce IF
Základní zápis vypadá následovně:
if (podminka) { ... }Když platí podmínka, provedou se příkazy ve složené závorce, jinak se vynechají.
Rozšířená varianta:
if (podminka) { ... } else { ... }Když platí podmínka, provedou se příkazy ve složené závorce, jinak se provedou příkazy ve druhé závorce.
Podmínka je výraz jehož výsledkem může být pouze true (ano) nebo false (ne).
Ukázky podmínek:
x == 5 | rovnost |
x < 5 | porovnání |
x > 5 | porovnání |
x <= 5 | porovnání |
x >= 5 | porovnání |
x != 5 | nerovnost |
x % 5 == 0 | dělitelnost 5 |
text == "ahoj" | shodnost řetězců |
Složené podmínky
Pokud chceme posoudit platnost více podmínek musíme je spojit pomocí logických operátorů AND (a zároveň) nebo OR (nebo).
Příklad na operátor AND (obě podmínky musí platit současně):
if ((podminka1) && (podminka2)) { ... }Příklad na operátor OR (stačí aby platila jedna z podmínek):
if ((podminka1) || (podminka2)) { ... }
Větvení do více větví - příkaz switch
Pokud chceme program rozvětvit do více větví můžeme do sebe podmínky IF vnořovat, přehlednější je ale použít konstrukci switch. Proměnná musí být typu char, byte, short nebo int !
V ukázce je hod kostkou:
int kostka = (int) (Math.random() * 6); //generuje náhodné číslo od 0-5 switch (kostka) { case 0: System.out.println("Padla 1"); break; case 1: System.out.println("Padla 2"); break; case 2: System.out.println("Padla 3"); break; case 3: System.out.println("Padla 4"); break; case 4: System.out.println("Padla 5"); break; case 5: System.out.println("Padla 6"); break; }