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       31 126×

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 Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Reklama
Reklama
Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

Obrázek ke článku Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Trend Micro, celosvětový lídr v oblasti bezpečnostních řešení a VMware, přední světový dodavatel cloudové infrastruktury a řešení pro podnikovou mobilitu, oznámily výsledky výzkumu mezi českými a slovenskými manažery zodpovědnými za ochranu osobních údajů, který zjišťoval, jak jsou připraveni na nové nařízení o ochraně osobních údajů (GDPR). Většina firem v České republice a na Slovensku nad 100 zaměstnanců je již s novým nařízením GDPR obeznámena. Výzkum provedený ve spolupráci s agenturou Ipsos ukázal, že téměř 8 firem z 10 o nařízení ví, přičemž jeho znalost je o něco vyšší na Slovensku (89 %) než v České republice (69 %).

Obrázek ke článku Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Jeden z nejznámějších ransomwarů, Locky, se vrací. Po většinu roku 2016 patřil mezi nejrozšířenější vyděračské softwary. Ke svému šíření využíval emailové kampaně s infikovanými přílohami. Ransomware Locky byl rozesílán prostřednictvím botnetu (internetový robot zasílající spamy) Necurs. Jeho aktivita na konci roku 2016 téměř upadla a spolu s ní i šíření ransomwaru Locky. Před několika týdny se Necurs opět probudil a začal posílat spamy nabízející výhodný nákup akcií. Dne 21. dubna zaznamenal bezpečnostní tým Cisco Talos první velkou kampaň ransomwaru Locky prostřednictvím botnetu Necurs za posledních několik měsíců.

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 © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý