NOVINKA: Kurz kybernetickej bezpečnosti teraz už od 0 €. Staň sa žiadaným profesionálom. Zisti viac:
NOVINKA: Staň sa dátovým analytikom od 0 € a získaj istotu práce, lepší plat a nové kariérne možnosti. Viac informácií:

4. diel - Premenné a typový systém v Jave

Z minulej lekcie, IntelliJ IDEA a Copilot, už vieme pracovať s IntelliJ IDEA a máme nainštalovaného GitHub Copilota.

V dnešnom Java tutoriále si naprogramujeme našu prvú konzolovú aplikáciu. Pozrieme sa na tzv. typový systém, ukážeme si základné dátové typy a prácu s premennými. Výsledkom bude jednoduchý program vypisujúci premennú.

Náš prvý program Hello world

Je zaužívaným zvykom, že prvým programom v nejakom novom jazyku býva tzv. Hello world. Ide o program, ktorý akýmkoľvek spôsobom používateľovi zobrazí hlášku "Hello world", prípadne nejaký podobný text. Radšej zopakujeme, že príkazy budeme písať do tela metódy main().

Na výpis textu slúži:

System.out.println("Text");

System je tzv. trieda. Pojmom trieda budeme zatiaľ chápať súbor nejakých príkazov. Príkazom sa v Jave hovorí metódy. System teda obsahuje metódy na obsluhu vstupov a výstupov.

Na výstupe (out) voláme metódu println(), ktorá vypíše text. Vidíme, že metódu na triede voláme pomocou operátora bodka. Každá metóda môže obsahovať nejaké vstupné parametre, ktoré sa zadávajú do zátvorky a sú oddelené čiarkou. V prípade metódy println() je parametrom text na vypísanie.

Textu budeme hovoriť textový reťazec alebo len reťazec (anglicky string). Text budeme písať do úvodzoviek, aby tomu Java rozumela a nezamieňala ho s inými príkazmi. Aj keby metóda nemala žiadne parametre, zátvorka za ňou je povinná a bola by prázdna.

Príkazy píšeme na samostatné riadky a za každý píšeme bodkočiarku (;).

Ak neviete, kde sa na klávesnici nachádza ;, nájdete ju pod klávesom Esc:

Bodkočiarka - Základné konštrukcie jazyka Java

Naša metóda main() teda bude teraz vyzerať nejako takto:

public static void main(String[] args) {
    System.out.println("Hello ITnetwork!");
}

Môžeme si uľahčiť život využitím doplňovacích možností a namiesto vypisovania System.out.println... môžeme napísať sout a stlačiť Tab. IDE napíše System.out.println("") za nás a ešte nám šikovne umiestni kurzor priamo medzi úvodzovky.

Úvodzovky sú na slovenskej klávesnici na rovnakom klávese ako ô, ale píšeme ich s klávesom Shift:

Úvodzovky - Základné konštrukcie jazyka Java

Program teraz spustíme. Výstup nášho prvého programu bude vyzerať nejako takto:

Normálny output Mavenu - Základné konštrukcie jazyka Java

GitHub Copilot

GitHub Copilot použijeme na vysvetlenie kódu. Otvoríme Copilot chat a zadáme prompt: "Detailne mi vysvetli kód v metóde ako pre úplného začiatočníka.". Copilot nám následne vysvetlí, čo program v metóde Main robí:

Vysvetlenie kódu Copilotom - Základné konštrukcie jazyka Java

Takéto vysvetlenie sa môže hodiť napríklad vtedy, keď narazíme na kód, ktorému úplne nerozumieme. Je však dobré mať na pamäti, že AI môže urobiť chybu, preto je vždy dôležité premýšľať nad tým, či vysvetlenie dáva zmysel.

Gratulujeme, práve ste sa stali programátorom 😊

Premenné

Než začneme riešiť dátové typy, poďme sa zhodnúť na tom, čo je to premenná (programátori mi teraz určite odpustia zbytočné vysvetľovanie). Určite poznáte z matematiky premennú (napr. x), do ktorej sme si mohli uložiť nejakú hodnotu, najčastejšie číslo. Premenná je v informatike úplne to isté, je to miesto v pamäti počítača, kam si môžeme uložiť nejaké dáta (meno užívateľa, aktuálny čas alebo databázu článkov). Toto miesto má podľa typu premennej tiež vyhradenú určitú veľkosť, ktorú premenná nesmie presiahnuť (napr. číslo nesmie byť väčšie ako 2 147 483 647).

Premenná má vždy nejaký dátový typ, môže to byť číslo, znak, text a podobne, záleží na tom, na čo ju chceme používať. Väčšinou musíme pred prácou s premennou túto premennú najskôr tzv. deklarovať, čiže povedať jazyku, ako sa bude volať a akého dátového typu bude (aký v nej bude obsah). Jazyk ju v pamäti založí a až potom s ňou môžeme pracovať. Podľa dátového typu premennej si ju jazyk dokáže z pamäte načítať, modifikovať, prípadne ju v pamäti založiť. O každom dátovom type jazyk vie, koľko v pamäti zaberá miesta a ako s týmto kusom pamäte pracovať.

Typový systém

Existujú dva základné typové systémy, a to statický a dynamický.

Statický typový systém

Statický typový systém striktne vyžaduje definovať typ premennej a tento typ je ďalej nemenný. Akonáhle premennú raz deklarujeme, nie je možné jej dátový typ zmeniť. Akonáhle sa do textového reťazca pokúsime uložiť objekt user, dostaneme vynadané.

Java je staticky typovaný jazyk, všetky premenné teda musíme najprv deklarovať s ich dátovým typom. Nevýhodou je, že kvôli deklaráciám je zdrojový kód o niečo objemnejší a vývoj pomalší. Obrovskou výhodou však je, že nám kompilátor pred spustením skontroluje, či všetky dátové typy sedia.

Dynamický typový systém

Dynamický typový systém nás plne oprosťuje od toho, že premenná má vôbec nejaký dátový typ. Ona ho samozrejme vnútorne má, ale jazyk to nedáva najavo. Dynamické typovanie ide mnohokrát tak ďaleko, že premenné nemusíme ani deklarovať. Akonáhle do nejakej premennej niečo uložíme a jazyk zistí, že premenná nebola nikdy deklarovaná, sám ju založí. Do tej istej premennej môžeme ukladať text, potom objekt používateľa a potom desatinné číslo. Jazyk sa s tým sám vysporiada a dátový typ vnútorne automaticky zmení. V týchto jazykoch ide vývoj rýchlejšie vďaka menšiemu množstvu kódu. Zástupcami sú napr. PHP alebo Ruby.

Dynamické typovanie síce pôsobí ako výhodnejšie, ale zdrojový kód nie je možné automaticky kontrolovať. Keď niekde očakávame objekt user, ale príde nám namiesto toho desatinné číslo, chyba sa odhalí až za behu programu, ktorý interpreter zhodí. Naopak Java nám nedovolí program ani skompilovať a na chybu nás upozorní.

Základné dátové typy

Poďme si teraz niečo naprogramovať, nech si nadobudnuté znalosti trochu osvojíme, s teóriou budeme pokračovať až nabudúce. Povedzme si teraz tri základné dátové typy:

  • Celé čísla: int,
  • Desatinné čísla: double,
  • Textový reťazec: String.

String píšeme s veľkým písmenom na začiatku, časom sa dozvieme prečo.

Program vypisujúci premennú

Založíme si nový projekt, pomenujeme ho Output (aj ku všetkým ďalším príkladom si vždy založíme nový projekt). Následne si skúsime nadeklarovať celočíselnú premennú a, dosadiť do nej číslo 56 a jej obsah vypísať do konzoly. Kód napíšeme do tela metódy main():

int a;
a = 56;
System.out.println(a);

Deklarácia premennej

Prvý príkaz nám nadeklaruje novú premennú a dátového typu int, premenná teda bude slúžiť na ukladanie celých čísel.

Inicializácia premennej

Druhý príkaz vykonáva priradenie do premennej, slúži na to operátor "rovná sa". Posledný príkaz je nám známy, vypíše do konzoly obsah premennej a. Konzola je múdra a vie vypísať aj číselné premenné:

Konzolová aplikácia
56

Desatinná premenná

Pre desatinnú premennú by kód vyzeral takto:

double a;
a = 56.6;
System.out.println(a);

Je to takmer rovnaké ako s celočíselnou premennou. Ako desatinný oddeľovač používame bodku. Na konci desatinného čísla sa niekedy uvádza ešte tzv. suffix, ktorý pri type double používa písmeno D.

V ďalších lekciách sa dozvieme, že pre desatinné čísla existuje aj typ float. U neho je nutné uviesť suffix F. Typ double je východiskovým typom pre desatinné čísla, suffix teda pri ňom nie je nutné použiť.

To je pre dnešnú lekciu všetko 🙂

Zhrnutie lekcie

Kód programu v Jave zapisujeme do metódy main() a text do konzoly vypisujeme pomocou System.out.println(). Premenná je miesto v pamäti na uloženie hodnoty. V Jave ju musíme najprv deklarovať spolu s dátovým typom, pretože Java je staticky typovaný jazyk. Základné dátové typy v tejto lekcii boli int pre celé čísla, double pre desatinné čísla a String pre text. Premenné potom môžeme naplniť hodnotou a ich obsah vypísať do konzoly.

V budúcej lekcii, Načítanie hodnôt z konzoly a parsovanie v Jave, sa pozrieme na načítanie hodnôt z konzoly, parsovanie dát a potom si vytvoríme jednoduchú kalkulačku.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 151x (5.9 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Predchádzajúci článok
IntelliJ IDEA a Copilot
Všetky články v sekcii
Základné konštrukcie jazyka Java
Preskočiť článok
(neodporúčame)
Načítanie hodnôt z konzoly a parsovanie v Jave
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
218 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity