hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.23. 07:49



Jelenlévő felhasználók

Jelenleg 239 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 239 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: [Java] Függvények
HozzászólásElküldve: 2017.04.10. 15:59 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Sziasztok!

8) Java - Core Programming - Függvények

Az előző topikban azt írtam valóban, hogy lezárjuk a Core Programming részt és átugrunk az objektum orientált Javara, azonban egy fontos építőelemet kihagytam az eddigiek közül, a függvényeket.

Mielőtt beleugranánk a közepébe, az eddigi tutoriálokat kiegészíteném egy hasznos Eclipse funkcióval (már aki Eclipse-t használ Java fejlesztéshez, de hát ki használna mást..), mely a Ctrl+Shift+O, ami optimalizálja a fájlban használt importokat (kiveszi a feleslegeseket és hozzáadja a szükségeseket).

Függvények..

Egy függvényt mire is használunk.. Általában valamilyen érték kiszámolására, majd annak visszaadására, mint matematikában is. Itt azonban egy kicsit különbözik, hiszen itt nem muszáj értéket kapnia és értéket visszaadnia, egy függvényt lehet akár egy lefuttatandó kód sorozat is, amit például sokat használnánk a kódban, de nem akarjuk minden egyes alkalommal az összes sort újraírni.

A metódus deklarációjakor kötelesek vagyunk megadni a visszatérési érték típusát. Ez lehet void, amennyiben nincs visszatérési érték, lehet bármilyen primitív (int, double stb), vagy akár bonyolultabb szerkezetű, saját típusok (User, Card, Animal stb).

A következő kódban egy void függvényt írunk, amely kiírja háromszor, hogy Üdv újra nálunk.., majd meg is hívjuk azt a program main metódusából.

Kód:

public class App 
{

    public static void main(String[] args) {
        Welcome();
    }
    
    public static void Welcome
() {
        System.out.println("Üdv újra nálunk..");
        System.out.println("Üdv újra nálunk..");
        System.out.println("Üdv újra nálunk..");
    }
    
}
 


A fenti kódban néhány kulcsszó zavaros lehet, mint például a public és a static módosítószó, ezekkel egyelőre ne foglalkozzunk, erről majd később lesz szó. Amit észre kell vennünk, hogy létrehoztunk egy Welcome nevű függvényt paraméter és visszatérési érték nélkül, majd azt a programunk indításakor egyből meg is hívtunk. Javaban nem számít az, hogy a függvény meghívása hamarabb történt-e, mint a függvény deklarálása, ez teljesen flexibilis (nyilván csak fordítási időben flexibilis, runtimeban egyáltalán nem, bár runtimeban ritkán hozunk létre metódust).

A függvényből persze ki lehet lépni teljes lefutás előtt a
Kód:
return;
kulcsszóval, azonban figyeljünk oda, hogy ne adjunk itt értéket, hiszen ha egyszer voidként hoztuk létre a függvényt, akkor annak már nem adhatunk visszatérési értéket.

Nézzünk egy példát, amelyik elfogad egy bemenő paramétert, majd vissza is tér egy értékkel. Számoljuk ki egy téglalap oldalaiból a területét..

Kód:

public class App 
{

    public static void main(String[] args) {
        System.out.println(Rectangular(10,50));
    }
    
    public static int Rectangular
(int a, int b) {
        return a * b;
    }
}
 


Visszatérés a függvényből a meghívó kódhoz az alábbi esetekben történik:
  • A függvény minden egyes utasítása lefutott,
  • a kód elér egy return utasítást,
  • vagy egy kivételt kapunk.

Kis plusz infó, amely a későbbiekben jól jöhet:
Amennyiben egy saját osztályt adunk meg visszatérési érték típusának, ezesetben csak és kizárólag a megadott osztályt, child osztályát adhatja vissza, az osztály hierarchiában tehát szülőosztályt nem adhatunk vissza.

Köszönöm, ha elolvastad,
következő leírásig pedig szokásosan...
Happy Coding! :)


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole