hlmod.hu
https://hlmod.hu/

[Java] Függvények
https://hlmod.hu/viewtopic.php?f=127&t=27544
Oldal: 1 / 1

Szerző:  Silent [ 2017.04.10. 15:59 ]
Hozzászólás témája:  [Java] Függvények

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! :)

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/