Online kurz programování Java 1 (ZDARMA) – objekty, výpis na obrazovku
Chtěli byste se naučit programovat tak, aby vám všechno někdo vysvětlil úplně jednoduše, jako kamarád u piva? A chtěli byste i „píseček“ na hraní, kde si můžete hned všechno bez jakéhokoliv instalování vyzkoušet? Tak to jste tu správně. Javu se s námi můžete naučit bez jakýchkoliv předchozích znalostí. Pojďme hned na to!

Obsah kurzu
Programovací jazyk Java
- Java (výslovnost [džava]) je programovací jazyk založený na objektech (co je to objekt, vysvětlíme dále). Pro začátečníky je složitější, po Java programátorech je proto velká poptávka a jsou velmi dobře placeni.
- Java se typicky používá v backendu [bekendu] velkých společností. (Backend je část programu, ke které nepřistupuje uživatel, např. zákazník nebo pracovník banky. Tyto programy pracují v pozadí.) Používá se také ve strojovém učení (machine learning, tedy součást takzvané „umělé inteligence“), při tvorbě aplikací pro Android, webových aplikací, cloudových systémů, her a má mnoho dalších uplatnění.
- Javu používají např. firmy Airbnb, Amazon, eBay, Google, Meta, Microsoft, Netflix, Spotify, Uber, O2, Česká Spořitelna, Oracle, IBM, T‑Mobile, DHL a mnoho dalších.
- Nezávislost na platformě a univerzálnost – kód lze spustit na PC, Linuxu, macOS, v Androidu atd. (všude, kde lze nainstalovat JRE – Java Runtime Environment [džava rantajm envajronment], neboli prostředí, ve kterém může Java běžet).
- Slogan Javy: „Write once, run anywhere.“ (Napiš jednou program, a ten pak už bude běžet všude.)
- Žebříčky popularity: TIOBE, coding Dojo, Stack Overflow Trends.
- Javu používá 10 000 000 programátorů
- Java je v 56 000 000 000 zařízeních. Z tohoto počtu asi 60–65 % JVM (Java Virtual Machine – překladač a spouštěč Javy) běží na cloudu, hodně z toho je v smartphonech, autech, v IoT zařízeních (Internet of Things – zařízení připojená k internetu).
Programování
- Co je to vlastně to „programování“?
- Přirovnání s vařením: autor napíše recept, kuchař podle něj uvaří jídlo a strávník ho nakonec sní.
- Podobně programátor napíše recept, co má dělat počítač. Počítač jako kuchař postupuje krok za krokem podle receptu. A uživatel použije výsledek, třeba ve formě aplikace na smartphonu.
- Recept na jídlo může znít třeba: rozklepni 2 vejce, přidej 200 gramů mouky, zamíchej to do vody. Program zní třeba: vykresli okno, vypiš do něj informace, nakresli na něj tlačítko s nápisem „OK“, zobraz to celé uživateli.

- Přirovnání se sluhou: představte si, že král odjíždí na dovolenou. Na papír napíše sluhovi, co má dělat. Sluha to vykoná.
- Král třeba napíše: Pokud bude pršet, zavři okna. Každý den nakrm kočku. Ve čtvrtek dej popelnice na ulici. Podobně programátor je jako král a počítač je jako sluha. Program zní například: Pokud uživatel klikne na tlačítko „OK“, zavři okno. Každý den zobraz uživateli notifikaci. Ve čtvrtek pošli uživateli informační e‑mail. Počítač to jako sluha všechno vykoná.
Objekty, výpis na obrazovku
Co kdybychom chtěli dát počítači příkaz, aby něco napsal na obrazovku? Dá se to udělat takhle:
System.out.println("Ahoj!");
Proč to ale nevypadá nějak jednoduše, třeba takhle?
print("Ahoj!");
No, protože tohle není nějaký jiný jednodušší jazyk, ale Java! Člověk aspoň pochopí, proč ti Javisti stojí firmy tolik peněz. Normální lidi radši programují v něčem lehčím (cítíte-li se dostatečně nenormálně, pokračujte ve čtení).
Java je objektově orientovaný programovací jazyk (OOP). Jaké jsou výhody objektového programování? Tak například:
- funguje skvěle u velkých projektů
- v kódu se dá hezky udělat pořádek a kód je srozumitelnější
- snadnější řešení velkých a složitých problémů (které se dají rozložit na menší a jednodušší problémy)
- snadno se najde chyba
- lepší bezpečnost
Co OOP znamená? Vraťme se k příkladu s vařením. V jednodušším programovacím jazyku by recept podobný programu vypadal třeba takhle:
vejce; mouka; voda; smichej(vejce,mouka,voda);
V Javě ale spíš takhle:
PlanMixeru.mixer.smichej(vejce,mouka,voda);
Java kombinuje dva přístupy. Jednak seznam příkazů, které se vykonávají tak, jak jdou za sebou (jako v receptu na pečení). Program ale stojí hlavně na objektech, bez kterých se v Javě neobejdeme. Co to ty objekty jsou? Tak dávejte pozor. Zadefinujeme si pár věcí a použijeme k tomu přirovnání se strojem.
Class [klás] (třída) – plán stroje. Dejme tomu výkres, jak vyrobit mixér. Název třídy se píše vždy s velkým písmenem na začátku všech slov, která v názvu třídy jsou (příklad: PlanMixeru). Java rozlišuje malá a velká písmena!
Object [obdžekt] (objekt) – stroj. Například mixér. Mixér (objekt) je vyrobený podle plánu (třídy). Jinými slovy, objekt je instancí třídy. Podle jednoho plánu lze vyrobit několik mixérů. Stejně tak může existovat několik objektů, které jsou instancí třídy.
Method [meθd] (metoda) – funkce stroje. Třeba míchání. Dejme ale tomu, že stroj má víc různých funkcí. Třeba kuchyňský robot. V tom případě má víc metod, například míchání, sekání, loupání…(Kdo by to náhodou nevěděl, „θ“ se vyslovuje tak, že se strčí jazyk mezi zuby a vysloví se „t“. Programovat bez angličtiny by bylo jako dělat medicínu bez latiny, takže v tomhle kurzu pochytíte něco i z ní.)
Takže kód by mohl vypadat takhle:
PlanMixeru.mixer.smichej(vejce,mouka,voda);
Vlastně tím počítači říkáme:
- Vezmi plán mixéru.
- Vyrob podle něho mixér.
- Zapni mixér, aby míchal.
- Do toho mixéru hoď vejce, mouku a vodu.

Vidíme logický postup oddělený tečkami: plán, stroj, funkce stroje. Tečky taky oddělují členy hierarchie, postupuje se od nejvyššího k nejnižšímu. Dejme tomu, že doma otevřete obrovskou krabici, v ní je krabice od bot, v ní je krabička na šperky a v ní prstýnek. Potom by kód vypadal takhle:
ObrovskaKrabice.krabiceOdBot.krabickaNaSperky.prstynek
Tady je další příklad:

Vraťme se teď k příkladu s mixérem. K čemu jsou kulaté závorky?
PlanMixeru.mixer.smichej(vejce,mouka,voda);
Jsou v nich takzvané argumenty. Dá se říct, že to jsou vstupy, to co strčíme do metody smichej. V našem příkladu jsme do metody smichej dali vejce,mouka,voda. Všimněte si taky středníku ;, který počítači oznamuje konec příkazu (příkaz – angl. command [kménd] nebo statement [stejtment], středník – angl. semicolon [semikolon]). Bez středníku by počítač nepochopil, kde končí jeden příkaz a začíná další. Když středník zapomenete napsat, tak vám při spuštění programu počítač pořádně vynadá a neudělá vůbec nic.
Konec příkladů z kuchyně, pojďme zpátky na opravdovou Javu. Už je tenhle kód jasnější?
System.out.println("Ahoj!");
System– třídaout– objekt („out“ je zkratka od „output“ [autput] neboli „výstup“)println– metoda (zkratka z „print line“ neboli „vytiskni řádek“)()– závorky, ve kterých je argument"Ahoj"– argument;– konec příkazu
Tak si ho rovnou vyzkoušíme. V okně níž vidíte hotový kód. Stiskněte tlačítko Execute a kód se spustí. Výsledek uvidíte v černém okénku dole. Porovnejte příkazy a výsledek po spuštění.
- Jste na smartphonu? Kód i výsledek v černém okně můžete prstem posouvat doleva a doprava, abyste viděli celé řádky.
- Jste na iPhone, iPadu? Jděte do Nastavení>Safari>Nesledovat napříč stránkami a vypněte tuto funkci.

- Vidíte tam příkaz
println, který na konci řádku přidá enter („new line“ neboli nový řádek). Příkazprintdělá to samé, jenže bez entru na konci. - Vidíme taky, že v řetězci znaků klidně můžou být mezery. Každý řetězec ovšem musí být mezi dvojitými uvozovkami
". - Číslo napíšeme bez uvozovek.
- Skok na další řádek můžeme vytvořit i uprostřed řetězce pomocí
\n(zkratka od „new line“). (Poznámka:\nfunguje na Linuxu. Kód v okénku běží na linuxovém serveru, proto nám\nfunguje. Později se naučíme varianty pro další operační systémy.)
Možná vás napadne: a co se stane, když tam napíšu řetězec bez uvozovek? Anebo vás napadne nějaká jiná otázka. Kód v okně můžete libovolně přepsat, experimentovat, nebo napsat svůj vlastní, a tak se lépe naučíte, co funguje a co nefunguje.
Asi si říkáte, no fajn, ale k čemu jsou dva řádky na začátku programu a dvě složené závorky } na konci programu?
public class MyClass {
public static void main (String args[]) {
//na toto místo vždy vložte váš kód
}
}
Uděláme takovou dohodu. Zatím si jich nevšímejte a my vám později vysvětlíme, co přesně znamenají. Každý kód, který se naučíte, prostě zatím vložte mezi ně.
Pokračujte dalším dílem: Online kurz programování Java 2 – proměnné, datové typy.
Obrázky: Unsplash: Donovan Grabowski, Pexels, Pixabay, Bellalunatoys.com
Perfektní, jednoduché vysvětlení i s obrázky. Děkuji.