Java (II) - 4. lekcia
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Java (II) - 4. lekciaJava (II) - 4. lekcia

 

Java (II) - 4. lekcia

Google       Google       4. 7. 2006       30 007×

Obsah štvrtej lekcie:

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

    Reklama
    Reklama

    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=693

    Úloha č. 4

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

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

3 názory  —  3 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor je studentom FEI STU v Bratislave, odbor Aplikovana Informatika a vo svojom volnom case sa zaobera hlavne programovanim a rad sportuje.
Web    

Nové články

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý