Een fragment uit een lezing met een mentor als onderdeel van de Codegym University-cursus. Schrijf je in voor de volledige cursus.
"Jij weer, Amigo. Wel, hallo."
'Het lijkt erop dat je niet erg blij bent me te zien, Diego?'
'Ik heb de indruk dat je denkt dat je alles al hebt geleerd over methoden in Java.'
"O, ik niet..."
'Ik denk het niet! Je weet nog niet eens de helft.'
"Zeker, ik vind het niet erg...
"Oké, genoeg gepraat. Het is tijd om te beginnen. En we beginnen met iets simpels. Bijvoorbeeld het feit dat Java een return statement heeft. Hiermee kun je een methode waarin het wordt aangeroepen direct beëindigen. Dit is het statement:
return;
"Het is simpel: het eenzame woord return
gevolgd door een puntkomma. Zodra het programma deze instructie uitvoert, wordt de huidige methode afgesloten en gaat de aanroepende methode verder.
"Als return
de methode wordt aangeroepen main
, wordt de main
methode onmiddellijk beëindigd, en daarmee het hele programma.
Voorbeeld:
|
De fill methode vult een deel van de doorgegeven array met value . Het te vullen deel van de array wordt bepaald door de indices from en to . Als from kleiner is dan 0 of to groter is dan de lengte van de array, wordt de methode onmiddellijk beëindigd. |
"Het bovenstaande programma heeft een fill
methode die de array vult die eraan wordt doorgegeven met value
. Het vult niet de hele array, alleen het deel dat wordt gespecificeerd door de indices from
en to
.
"Aan het begin van de fill
methode worden de doorgegeven waarden gecontroleerd om er zeker van te zijn dat ze geldig zijn. Als deze from
kleiner is dan 0, of to
groter is dan de lengte van de array, wordt de fill
methode onmiddellijk beëindigd (voert een return
instructie uit)."
"Begrepen. Is dat alles wat deze verklaring doet?"
"Eigenlijk return
is de verklaring nuttiger dan u denkt. Het is zo nuttig dat het in bijna elke methode op Java wordt aangetroffen. En nu zal ik u laten begrijpen waarom dit zo is.
Werkwijzen met resultaat,void
"Je herinnert je waarschijnlijk nog dat er verklaringen zijn en dat er uitdrukkingen zijn . Wat is het verschil daartussen?"
"Als ik me niet vergis, heeft een uitdrukking, in tegenstelling tot een uitspraak, een betekenis die ergens kan worden gebruikt."
"Klopt. En in Java kunnen methodes ook een waarde hebben . En dat is heel goed nieuws: methodes zijn niet alleen in staat om iets te doen op basis van de invoerparameters, maar bijvoorbeeld ook om iets te evalueren en het resultaat van de berekening .
"Trouwens, je bent al dergelijke methoden tegengekomen:
|
De abs() methode retourneert een double |
|
De nextInt() methode retourneert eenint |
|
De toUpperCase() methode retourneert aString |
|
De copyOf() methode retourneert eenint[] |
"Elke methode kan slechts één waarde van één vooraf bepaald type retourneren . Het retourtype wordt bepaald wanneer de methode wordt gedeclareerd:
public static Type name(parameters)
{
method body
}
Waar name
is de naam van de methode, parameters
is de lijst met methodeparameters en type
is het type resultaat dat de methode retourneert.
Voor methoden die niets teruggeven, is er een speciaal type placeholder: void
.
"Met andere woorden, als ik mijn methode schrijf en niets wil retourneren, dan verklaar ik dat het type methode void
, en dat is dat?"
"Ja. En ik moet ook zeggen dat Java nogal wat van dergelijke methodes heeft.
Een resultaat retourneren
"Ik heb ontdekt hoe ik een methode moet declareren die het resultaat van een berekening/werk retourneert. Hoe retourneer ik het resultaat van de methode zelf?"
"Dat is een geldige vraag. De return
verklaring helpt ons hier weer eens. Het doorgeven van een resultaat van een methode ziet er als volgt uit:
return value;
"De return
instructie beëindigt de methode onmiddellijk. En value
is wat de methode zou moeten terugkeren naar de aanroepende methode wanneer deze wordt afgesloten. Het type value
moet overeenkomen met het Type
opgegeven in de methodedeclaratie. Hier zijn enkele voorbeelden om te versterken wat u hebt geleerd:
Voorbeeld 1. De methode berekent het minimum van twee getallen:
|
De methode retourneert het minimum van twee getallen. Indien a < b retour a Anders retour b |
Voorbeeld 2. De methode dupliceert de string die eraan is doorgegeven n
keer:
|
De methode heeft twee parameters nodig: een tekenreeks en het aantal keren dat de tekenreeks moet worden herhaald. Er wordt een lege string gemaakt voor het toekomstige resultaat. In een lus met times iteraties str wordt een spatie en de string toegevoegd aan de string result . De string result wordt geretourneerd als het resultaat van de methode. |
Voorbeeld 3: De methode berekent het maximum van twee getallen met behulp van de ternaire operator:
|
De methode retourneert het maximum van twee getallen. retourneren (als a > b , dan a , anders b ) |
"Uitstekend. Methoden zijn mijn nieuwe superkracht!"
"Alleen als je genoeg oefent in hands-on taken. Over en uit."
GO TO FULL VERSION