Gyakorlati alapok II.
Számkétszerezés
Ebben a fejezetben több szempontból átalakítva megismételjük a Külön függvény című fejezetben bemutatott számkétszerező megoldást.
A függvény – olyan metódus, amelynek van bemeneti típusa és kimeneti értéke (return), ellentétben az eljárással, amelynek nincs (void).
Az alábbi futtatható Java-kód egy számot (2 - ez a bemeneti adat) kétszerez meg külön függvényben (szamKetszerezes(int bemenetiAdat)). Láthatjuk, hogy a pontos és kötelező deklarációk után a számkétszerező matematikai művelet a return utasítás mögé kerül (return bemenetiAdat * 2;):
public class
Main {
public static int szamKetszerezes(int bemenetiAdat){
return bemenetiAdat * 2;
}
public static void main(String[] args) {
System.out.println(szamKetszerezes(2));
}
}
Végeredmény:
4
Az hogy a matematikai művelet a return utasítás mögé kerül, általános programozás-technikai megoldás, sokszor kerül alkalmazásra, akár több sorban és bonyolultabb terjedelemben. De természetesen a művelet úgy is megoldható, hogy a függvény kimenete (a return utáni rész) csak 1 db dedikált kimeneti adatot tartalmazzon (az alábbi kódban return kimenetiAdat;). Ekkor "klasszikus" módon a függvénytörzsbe (a függvényfejléc és return közé) kerül minden matematikai és egyéb művelet:
public class
Main {
public static int szamKetszerezes(int bemenetiAdat){
int kimenetiAdat = bemenetiAdat * 2;
return kimenetiAdat;
}
public static void main(String[] args) {
System.out.println(szamKetszerezes(2));
}
}
Végeredmény:
4
Ha a kétféle megoldást összehasonlítjuk, könnyen észrevehetjük az előnyöket és hátrányokat:
-
a return utáni kódolás gyors, hatékony, de a kódsűrítés miatt sokszor nehezebben megfejthető,
-
a "klasszikus" módszer aprólékosabb, de több deklarációs elemet tartalmaz. Ebből következően előfordulhat olyan extrém kódfutási helyzet is, hogy lassabb lesz.