Lekce 8 (11. listopadu 2021)

Do příště

Datový typ boolean

boolean jeSude = (cislo % 2) == 0;

// funkčně stejné jako if ((cislo % 2) == 0) {
if (jeSude) { // totéž co if (jeSude == true)
    ...
}
if (!jeSude) { // totéž co if (jeSude == false)
    ...
}

while cyklus

public class WhileCyklus {
    public static void main(String[] args) {
        int i = Integer.parseInt(args[0]);
        while (i > 0) {
            System.out.printf("%d\n", i);
            i--;
        }
    }
}

java.util.Scanner: načítání vstupu z klávesnice

public class Suma {
    public static void main(String[] args) {
        int suma = 0;
        /* Tohle je zatím trochu magie, vysvětlím později ;-). */
        java.util.Scanner sc = new java.util.Scanner(System.in);
        while (sc.hasNextInt()) {
            suma += sc.nextInt();
        }
        System.out.printf("Soucet zadanych cisel je %d.\n", suma);
    }
}

Předčasná ukončení cyklů

Následující kus kód by bez break a continue byl náročnější na pochopení.

int suma = 0;
int pocet = 0;
while (scanner.hasNextInt()) {
    int cislo = scanner.nextInt();
    if (cislo == 0) {
        // Uživatel zadal 0 ==> končíme
        break;
    }
    if (cislo < 0) {
        // Záporná čísla ignorujeme.
        System.out.printf("Preskakuji %d\n", cislo);
        continue;
    }
    System.out.printf("Zadane kladne cislo je %d.\n", cislo);
    suma += cislo;
    pocet++;
}

Protože je nutné konstruovat složité (a vnořené) podmínky.

int suma = 0;
int pocet = 0;
boolean pokracujeme = true;
while (pokracujeme && scanner.hasNextInt()) {
    int cislo = scanner.nextInt();
    if (cislo == 0) {
        // Uživatel zadal 0 ==> končíme
        pokracujeme = false;
    } else {
        if (cislo < 0) {
            // Záporná čísla ignorujeme.
            System.out.printf("Preskakuji %d\n", cislo);
        } else {
            System.out.printf("Zadane kladne cislo je %d.\n", cislo);
            suma += cislo;
            pocet++;
        }
    }
}
Licence Creative Commons
Alej.alisma.cz, jejímž autorem je Vojtěch Horký, podléhá licenci
Creative Commons Uveďte autora-Zachovejte licenci 4.0 International.