Premenné

<< Opakovanie skupiny príkazov (variabilný počet opakovaní) | Obsah | Aritmetické výrazy >>

Premenné (pozor, nezamieňať si s premennými v matematike) slúžia na uloženie jednej hodnoty. Najčastejšie použitie premenných pri programovaní je dočasné uloženie si nejakej (napr. vypočítanej) hodnoty na neskoršie použitie.

Premenné:

  • sú pomenované (majú meno),
  • majú svoj typ určujúci hodnoty, ktoré je dovolené v premennej uložiť.

Premennú si môžeme predstaviť ako nejaké pomenované úložisko (skrinka, "šuflík", papierik) na odloženie hodnôt (napr. čísel).

Premenné, ktoré vzniknú počas vykonávania metód voláme lokálne premenné. V tejto kapitole sa budeme venovať iba lokálnym premenným.

Vytvorenie premennej

Na to, aby sme s nejakou premennou mohli pracovať, musíme si ju najprv vytvoriť - deklarovať. Premenné sa vytvárajú príkazom, ktorý nazývame deklarácia premennej. V tomto príkaze uvedieme typ a názov premennej, ktorú chceme vytvoriť. Napríklad, ak chceme vytvoriť (deklarovať) premennú s menom suradnicaX, ktorá má byť schopná uchovať jedno číslo s desatinnou čiarkou, napíšeme príkaz:

double suradnicaX;

Prvé "slovo" v príkaze deklarácie premennej je teda typ vytváranej premennej a druhé slovo je meno vytváranej premennej. Ak by sme chceli premennú schopnú uchovávať celé čísla, vytvorili by sme ju analogicky príkazom typ meno;:

int pocetKrokov;

Deklaráciu premennej si môžeme predstaviť ako príkaz, ktorý kdesi v pamäti počítača vytvorí premennú s definovaným názvom a schopnú uchovávať hodnoty definovaného typu. Premenná je po vytvorení (deklarovaní) neinicializovaná. To je stav, kedy v premennej nie je ešte uložená žiadna hodnota. Zapamätajme si, že kým premennú neinicializujeme, nemôžeme s ňou pracovať. Po deklarácii premennej (premenných) teda musíme vykonať inicializáciu - uloženie prvej (tzv. inicializačnej) hodnoty do premennej.

Priradenie hodnoty

Keď už máme premennú vytvorenú, môžeme do nej uložiť (uschovať) nejakú hodnotu. To je možné spraviť príkazom priradenia. Ak chceme do (už vytvorenej) premennej suradnicaX uložiť hodnotu 10.5 spravíme to takto:

suradnicaX = 10.5;

Príkaz priradenia sa teda skladá z týchto častí:

  • názvu premennej, do ktorej priraďujeme (uchovávame) hodnotu
  • znaku =
  • hodnoty, ktorú chceme premennej priradiť (konkrétna hodnota alebo výraz)
  • znaku ;

Pamätajme si, že príkazom priradenia:

  • sa premenná inicializuje, ak bola neinicializovaná,
  • hodnota v nej uložená sa prepíše novou (priraďovanou) hodnotou, ak v premennej už predtým bola nejaká hodnota uložená.

Do premennej je možné uložiť len hodnotu, ktorá je dovolená pre daný typ premennej. Napríklad do premennej typu int nemôžeme priradiť číslo s desatinnou čiarkou.

Keďže v praxi skoro vždy za príkazom deklarácie premennej nasleduje príkaz priradenia (do vytvorenej premennej si potrebujeme uložiť nejakú hodnotu), Java umožňuje aj skombinovanie týchto dvoch príkazov.

Namiesto dvoch príkazov

int pocetKrokov;
pocetKrokov = 100;

stačí napísať jeden

int pocetKrokov = 100;

Použitie hodnoty premennej

Ak chceme v niektorom z príkazov namiesto konkrétnej hodnoty použiť hodnotu, ktorá je aktuálne uložená v nejakej premennej, spravíme to tak, že na danom miestne namiesto konkrétnej hodnoty napíšeme názov premennej:

double dlzkaKroku=100.7;
this.step(dlzkaKroku);

Stačí si len pamätať, že názov premennej vždy zastupuje hodnotu aktuálne uloženú v danej premennej (tak ako to bolo pri parametroch). Dokonca aj parametre metód sú len obyčajné premenné, ktoré sú inicializované na základe hodnôt, s ktorými sa metóda volá. Teda všetko to, čo platí pre premenné, platí aj pre parametre.

Aké môžu byť typy premenných?

Premenné v Jave môžu byť primitívneho typu (uchovávajú nejakú hodnotu) alebo referenčného typu (uchovávajú referenciu na objekt - zatiaľ sme tieto premenné nazývali komunikátormi). V Jave existuje len 8 premenných primitívneho typu. Zatiaľ sme sa stretli s typmi double a int. Pozrime sa aj na ďalšie:

reprezentujú typ možné hodnoty počet bitov
celé čísla byte -128 až 127 8
short -32 768 až 32 767 16
int -2 147 483 648 až 2 147 483 647 32
long -9 223 372 036 854 775 808 až 9 223 372 036 854 775 807 64
reálne čísla float (-16 777 216 až 16 777 216)*2(-126 až 127 ) 32
double (-9 007 199 254 740 992 až 9 007 199 254 740 992)*2(-1022 až 1023) 64
pravdivosť boolean true alebo false 1
znaky char všetky možné znaky kódovania známeho ako UTF-8
napríklad: 'A' , 'č' , '4' , ',' (čiarka), ' ' (medzera) a podobne
16

Premenným typu boolean a char sa budeme venovať neskôr. Na tomto mieste ich uvádzame len kvôli úplnosti. Všimnime si, že Java ponúka viacero typov na uloženie čísel s aj bez desatinnej čiarky. Dôležité je všimnúť si, že v nich nemôžeme uložiť akékoľvek čísla. Každý z typov má definovaný povolený rozsah hodnôt. Dôvod, prečo je v Jave niekoľko typov, je veľmi jednoduchý. Každá premenná zaberá nejakú pamäť v počítači. Tá je však obmedzená. Aby sa pamäťou neplytvalo, programátor si môže vybrať, aký typ premennej použije. Platí, že čím väčší rozsah ponúka daný typ, tým viac pamäti zaberie premenná tohto typu v pamäti počítača.

Kedy premenná zanikne?

Pre lokálne premenné platí, že premenná zanikne akonáhle vykonávanie metódy opustí blok príkazov, v ktorom bola premenná deklarovaná. Blok príkazov je ohraničený príslušným párom zložených ("kučeravých") zátvoriek {}.

<< Opakovanie skupiny príkazov (variabilný počet opakovaní) | Obsah | Aritmetické výrazy >>