Előadásrészlet egy mentorral a Codegym University tanfolyam részeként. Jelentkezzen a teljes tanfolyamra.
– Már megint te, Amigo. Nos, szia.
– Úgy tűnik, nem örülsz, hogy látlak, Diego?
"Az a benyomásom, hogy azt hiszed, már mindent megtanultál, amit a Java módszereiről tudni lehet."
– Ó, én nem…
"Nem hinném! Még a felét sem tudod."
"Persze, nem haragszom...
"Oké, elég a beszédből. Ideje elkezdeni. És kezdjük valami egyszerűvel. Például azzal, hogy a Java-nak van return utasítása. Lehetővé teszi, hogy azonnal leállítson egy metódust, amelyben meghívják. Íme az utasítás:
return;
"Egyszerű: a magányos szót return
pontosvessző követi. Amint a program végrehajtja ezt az utasítást, az aktuális metódus kilép, és a hívási metódus folytatódik.
"Ha return
a metódusban meghívásra kerül main
, akkor a main
metódus azonnal véget ér, és vele az egész program.
Példa:
|
A fill metódus kitölti az átadott tömb egy részét -val value . A tömb kitöltendő részét a from és az indexek határozzák meg to . Ha from kisebb, mint 0 vagy ha to nagyobb, mint a tömb hossza, akkor a metódus azonnal leáll. |
"A fenti programnak van egy fill
metódusa, ami a neki átadott tömböt tölti ki a -val value
. Nem tölti ki a teljes tömböt, csak az indexek from
és az indexek által meghatározott részt to
.
"A metódus elején fill
az átadott értékeket ellenőrzik, hogy érvényesek-e. Ha from
kisebb, mint 0, vagy ha to
nagyobb, mint a tömb hossza, akkor a fill
metódus azonnal leáll ( return
utasítást hajt végre)."
– Értem. Csak ennyit tesz ez a kijelentés?
"Valójában ez az return
állítás hasznosabb, mint gondolnád. Annyira hasznos, hogy szinte minden Java metódusban megtalálható. Most pedig elvezetem Önt annak megértéséhez, hogy miért van ez így.
Eredményes módszerek,void
"Valószínűleg emlékszel arra, hogy vannak kijelentések, és vannak kifejezések . Mi a különbség köztük?"
"Ha nem tévedek, egy kifejezésnek, ellentétben a kijelentéssel, van jelentése, ami valahol használható."
"Helyes. És a Java-ban a metódusoknak is lehet értéke . És ez nagyon jó hír: a metódusok nem csak a bemeneti paraméterek alapján képesek valamit tenni, hanem például kiértékelni is valamit, és visszaadni az eredményt a számítás .
"Mellesleg, már találkozott ilyen módszerekkel:
|
A abs() metódus duplát ad vissza |
|
A nextInt() metódus egyint |
|
A toUpperCase() metódus visszaadja aString |
|
A copyOf() metódus egyint[] |
"Minden metódus csak egy előre meghatározott típusú értéket adhat vissza . A visszatérési típus a metódus deklarálásakor kerül meghatározásra:
public static Type name(parameters)
{
method body
}
Ahol name
a metódus neve, parameters
a metódusparaméterek listája és type
a metódus által visszaadott eredmény típusa.
Azokhoz a metódusokhoz, amelyek semmit sem adnak vissza, van egy speciális helyőrző típus: void
.
"Más szóval, ha megírom a metódusomat, és nem akarok semmit visszaadni, akkor a metódus típusát deklarálom, hogy void
, és ennyi?"
"Igen. És azt is el kell mondanom, hogy a Java-nak elég sok ilyen módszere van.
Eredmény visszaadása
"Kitaláltam, hogyan lehet deklarálni egy olyan metódust, amely egy számítás/munka eredményét adja vissza. Hogyan adjam vissza az eredményt magából a metódusból?"
"Ez egy jogos kérdés. Az return
állítás ismét segít nekünk. Egy módszer eredményének átadása így néz ki:
return value;
"Az return
utasítás azonnal leállítja a metódust. És value
a metódusnak vissza kell térnie a hívó metódushoz, amikor kilép. A típusnak value
meg kell egyeznie a Type
metódus deklarációjában megadottal. Íme néhány példa a tanultak megerősítésére:
1. példa: A módszer kiszámítja a két szám minimumát:
|
A metódus a minimum két számot adja vissza. Ha a < b visszaküld a Ellenkező esetben vissza b |
2. példa: A metódus megduplázza a neki átadott karakterláncot n
:
|
A metódus két paramétert vesz igénybe – egy karakterláncot és azt, hogy hányszor kell a karakterláncot megismételni. Egy üres karakterlánc jön létre a jövőbeni eredményhez. Az iterációkkal rendelkező ciklusban times egy szóköz és a karakterlánc str hozzáadódik a karakterlánchoz result . A karakterlánc result a metódus eredményeként kerül visszaadásra. |
3. példa: A módszer a maximum két számot számítja ki a háromtagú operátor segítségével:
|
A metódus maximum két számot ad vissza. vissza (ha a > b , akkor a , különben b ) |
"Kiváló. A módszerek az új szupererőm!"
"Csak ha eleget gyakorolsz a gyakorlati feladatokban. Újra és újra."
GO TO FULL VERSION