IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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

Z minulej lekcie, IntelliJ IDEA a prvá konzolová aplikácia, už vieme pracovať s IntelliJ a vytvoriť konzolovú aplikáciu.

V dnešnom Java tutoriále sa pozrieme 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ú.

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ý.

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 nebola nikdy deklarovaná, sám ju založí. Do tej istej premennej môžeme ukladať text, potom objekt užívateľa a potom desatinné číslo. Jazyk sa s tým sám vysporiada a vnútorne automaticky mení dátový typ. V týchto jazykoch ide vývoj rýchlejšie vďaka menšiemu množstvu kódu, zástupcovia sú napr. PHP alebo Ruby.

Statický typový systém

Statický typový systém naopak 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é musíme najprv deklarovať s ich dátovým typom. Nevýhodou je, že vďaka deklaráciám je zdrojový kód o niečo objemnejší a vývoj pomalší. Obrovskou výhodou však je, že kompilátor nám pred spustením skontroluje, či všetky dátové typy sedia. Dynamické typovanie síce vyzerá výhodne, ale zdrojový kód nie je možné automaticky kontrolovať a keď niekde očakávame objekt user a príde nám tam namiesto toho desatinné číslo, odhalí sa chyba až za behu a interpreter program zhodí. Naopak Java nám nedovolí program ani skompilovať a na chybu nás upozorní (to je ďalšia výhoda kompilácie).

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áš kód píšeme do tela metódy main(). Tú tu zatiaľ nemáme. Umiestnime teda kurzor medzi zložené zátvorky (do tela triedy Output) a napíšeme nasledujúci kód:

public static void main(String[] args) {

}

Následne si skúsime nadeklarovať celočíselnú premennú a, dosadiť do nej číslo 56 a jej obsah vypísať do konzoly:

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 🙂

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é 38x (1.62 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Predchádzajúci článok
IntelliJ IDEA a prvá konzolová aplikácia
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:
52 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