× Aktuálně z oboru

Vychází Game Ready ovladače pro Far Cry 5 [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]
Celá zprávička [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]

Java (II) - 4. lekcia

[ http://programujte.com/profil/2422-tomas-bosak/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       4. 7. 2006       37 324×

Obsah štvrtej lekcie:

  • Definovanie metód
  • Konštantné premenné
  • Polia
  • Úloha č. 4

    Definovanie metód

    Metóda je pomenovaný samostatný blok kódu, slúžiaci na viacnásobné použitie a rozdelenie rozsiahleho kódu na lepšie spracovateľné časti.

    Návratový typ

    Typ hodnoty (hociktorý dátový typ alebo trieda), ktorá bude vrátená metódou. Pokiaľ je tento typ uvedený ako void (prázdny), metóda nevracia žiadnu hodnotu.

    Názov metódy

    Pomenovanie, pod ktorým sa bude k metóde pristupovať cez objekt.

    Parametre metódy

    Do zátvoriek za názvom metódy sa uvádza zoznam parametrov, s ktorými bude metóda pracovať. Pokiaľ metóda neprijíma žiadne parametre, zátvorky sú prázdne.

    Návratová hodnota

    Hodnota, ktorú metóda vracia po svojom ukončení.

    Rozdelenie kódu do viacerých metód napomáha k ľahšiemu pochopeniu zámeru a všeobecne môže viesť k prehľadnému kódu. Pri pomenovávaní metód sa volia názvy, ktoré popisujú to, čo daná metóda robí a spravidla sa jej názov začína malým písmenom, pričom každé ďalšie začiatočné písmeno nejakého slova je písané veľkým písmenom.

    int nasobenieDvochCisel(int a, int b) {
        return a * b;
    }

    Konštantné premenné

    Premenná označená ako konštantná zabraňuje akejkoľvek zmene jej hodnoty. To znamená, že ak raz inicializujeme premennú na nejakú hodnotu a označíme ju ako konštatnú pomocou kľúčového slova final, tak jej hodnota je nemenná. Akýkoľvek pokus o zmenu hodnoty konštantnej premennej je považovaný za chybu, a teda nemožný. Takúto premennú môžeme inicializovať rovno pri jej deklarácii v triede

    final int mojaPremenna = 10;
    alebo ju najskôr deklarujeme a neskôr (v konštruktore alebo v inicializačnom bloku) jej priradíme hodnotu, ktorá už ostane nemenná

    final int mojaPremenna;
    
    ...
    
    mojaPremenna = 10;

    Samozrejme, že lepšie je použiť prvý spôsob, kvôli prehľadnosti a jednoduchosti.


    Polia

    Predstavme si, že by sme chceli vytvoriť 100 premenných toho istého dátového typu. Namiesto toho, aby sme každú premennú samostatne deklarovali,

    int prvaPremenna;
    int druhaPremenna;
    
    ...
    
    int staPremenna;

    vytvoríme pole

    int[] mojePole = new int[100];

    Pole je pomenovaná sada premenných toho istého typu.

    Deklarácia pola

    Pole deklarujeme pomocou hranatých zátvoriek:

    int[] mojePole;  // zatvorky pri datovom type
    int tvojePole[];  // aj takyto zapis je povoleny

    Premenné mojePole a tvojePole sú odkazy na celočíselné polia, ale ešte im nieje priradená žiadna pamäť.

    Definícia pola

    Akonáhle je premenná pre pole deklarovaná, môže sa definovať pole, na ktoré bude táto premenná odkazovať:

    mojePole = new int[100];  // pole 100 celych cisel

    Kľúčové slovo new hovorí, že vyhradzujeme novú pamäť pre toto pole a int[100] určuje, aby táto pamäť mala kapacitu pre 100 premenných typu int.

    Inicializácia pola

    Pole sa môže pri deklarácii inicializovať na požadované hodnoty (tieto hodnoty sú uzavreté v zložených zátvorkách) a zároveň určiť, koľko prvkov bude mať:

    int[] mojePole = {2, 8, 15, 22, 34};  // pole s piatimi prvkami

    V tomto prípade je veľkosť pola určená počtom počiatočných hodnôt, takže pre definíciu pola nie je potrebná žiadna ďalšia informácia. Pokiaľ sa zadajú inicializačné hodnoty pre pole, tak musia byť uvedené hodnoty všetkých prvkov. Pre nastavenie iba niektorých prvkov pola na určitú hodnotu je nutné použiť priraďovacie príkazy.

    int[] mojePole = new int[2];
    mojePole[0] = 25;
    mojePole[1] = 50;

    Na určitý prvok pola sa odkazuje pomocou jeho názvu a celého čísla (indexu) v hranatých zátvorkách. Pole sa začína od nulového indexu a posledný prvok má index n&divis;1, kde n je počet prvkov v poli. Vo vyššie uvedenom príklade je vytvorené pole dvoch prvkov, ktoré sú následne nastavené na určitú hodnotu.

    Všetky polia, o ktorých bola doteraz reč, sú jednorozmerné. Ďalej existujú dvojrozmerné a viacrozmerné polia. V dvojrozmerných poliach je prechádzanie v smere prvého indexu pri nemennej hodnote druhého indexu často brané ako pristupovanie k stĺpcom pola. Podobne pri nemennej prvej a meniacej sa druhej hodnote sa berie ako pristupovanie k riadkom pola. Výsledkom nasledujúceho zápisu je dvojrozmerné pole 3×3 prvkov (matica).

    int[][] mojeDvojrozmernePole = new int[3][3];

    Vo väčšine prípadoch sa používajú jedno alebo dvojrozmerné polia, ale dajú sa spraviť aj viacrozmerné polia, ktorých deklarácia pozostáva z troch a viac indexov v hranatých zátvorkách.

    Použítie polí

    Polia sa používajú tým istým spôsobom ako premenné toho istého dátového typu. Nasledujúci príklad deklaruje a definuje nové pole, ktoré následne naplní v cykle hodnotami a vypíše ich.

    public class Test {	
        private int[] mojePole = new int[10];
    	
        public static void main(String[] args) {
            Test mojTest = new Test();
    		
    	for(int i = 0; i < 10; i++) {
    	    mojTest.mojePole[i] = i;
    	    System.out.println(mojTest.mojePole[i]);
            }	
        }
    }

    Vyššie spomínané dvojrozmerné pole 3×3 prvkov by sa dalo naplniť napr. takto:

    public class Test {
    	// deklaracia a definicia pola
    	private int[][] mojeDvojrozmernePole = new int[3][3];
    	
    	public static void main(String[] args) {
    		// vytvorenie objektu
    		Test mojTest = new Test();
    		
    		// dva cykly pre stlpce a riadky
    		for(int i = 0; i < 3; i++) {	    
    		    for (int j = 0; j < 3; j++) {
    		    	// naplnenie prvku pola hodnotou
    		    	mojTest.mojeDvojrozmernePole[i][j] = 0;
    		    	// vypis hodnoty pola
    		        System.out.print(mojTest.mojeDvojrozmernePole[i][j]);
    		    }
    		    // novy riadok
    		    System.out.println();
    		}	
        }
    }

    Dodatočné informácie k poliam

    http://www.linuxsoft.cz/article.php?id_article=384 [ http://www.linuxsoft.cz/article.php?id_article=384 ]
    http://www.linuxsoft.cz/article.php?id_article=693 [ http://www.linuxsoft.cz/article.php?id_article=693 ]

    Úloha č. 4

    Napíšte metódu, ktorá bude prijímať dve celočíselné hodnoty, pomocou ktorých vypíše na obrazovku dvojrozmerné pole.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006062005-java-ii-4-lekcia/ ].