1. De return
verklaring
Denk je dat je al alles hebt geleerd over Java-methoden? Wat je ook denkt te weten, je weet nog niet de helft ervan.
Laten we beginnen met iets simpels. Java heeft bijvoorbeeld een return statement waarmee je de methode die het aanroept direct kunt beëindigen. Hier is de verklaring:
return;
Het is simpel: het eenzame woord return
gevolgd door een puntkomma. Zodra het programma deze instructie uitvoert, wordt de huidige methode onmiddellijk afgesloten en gaat het aanroepen door.
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 is doorgegeven met value
. Het vult niet de hele array, alleen het deel 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 from
kleiner is dan 0, of to
groter is dan de lengte van de array, dan fill
stopt de methode onmiddellijk (voert een return
instructie uit).
Deze return
verklaring is nuttig: praktisch elke methode in Java heeft er een, en dit is waarom.
2. Methoden met resultaat,void
Onthoud dat we er ooit achter kwamen dat er verklaringen zijn en dat er uitdrukkingen zijn . Een expressie heeft, in tegenstelling tot een statement, een waarde die ergens kan worden gebruikt.
En in Java kunnen methoden de waarde . En dit is heel goed nieuws: methoden kunnen niet alleen iets doen op basis van de invoerparameters, maar bijvoorbeeld ook iets evalueren en het resultaat van de berekening teruggeven .
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
.
Schrijft u uw eigen methode en wilt u niets teruggeven aan de aanroepende methode? Verklaar gewoon het type van de methode als void
, en het probleem is opgelost. Er zijn ook veel van dit soort methoden in Java.
3. Een resultaat retourneren
We hebben net ontdekt hoe we een methode kunnen declareren die het resultaat van een berekening retourneert, maar hoe kunnen we dit resultaat in de methode zelf berekenen?
De return
verklaring helpt ons hier opnieuw. Het doorgeven van een resultaat van een methode ziet er als volgt uit:
return value;
Waar return
is een instructie die de methode onmiddellijk beëindigt. En value
is de waarde die de methode retourneert naar de aanroepende methode wanneer deze wordt afgesloten. Het type value
moet overeenkomen met het type
opgegeven type in de methodedeclaratie.
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 aan de string toegevoegd 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 ) |
GO TO FULL VERSION