1. return
Redegørelsen
Tror du, at du allerede har lært alt om Java-metoder? Uanset hvad du tror, du ved, ved du stadig ikke halvdelen af det.
Lad os starte med noget simpelt. For eksempel har Java en returerklæring , der lader dig øjeblikkeligt afslutte den metode, der kalder den. Her er udtalelsen:
return;
Det er enkelt: det ensomme ord return
efterfulgt af et semikolon. Så snart programmet udfører denne sætning, afsluttes den aktuelle metode med det samme, og opkaldet fortsætter.
Hvis return
det kaldes i main
metoden, main
slutter metoden straks, og med det hele programmet.
Eksempel:
|
Metoden fill udfylder en del af det beståede array med value . Den del af arrayet, der skal udfyldes, er defineret af indekserne from og to . Hvis from er mindre end 0 eller hvis to er større end længden af arrayet, afsluttes metoden med det samme. |
Ovenstående program har en fill
metode, der udfylder det array, der sendes til det, med value
. Det fylder ikke hele arrayet, kun den del, der er specificeret af indekserne from
og to
.
I begyndelsen af fill
metoden kontrolleres de beståede værdier for at sikre, at de er gyldige. Hvis from
er mindre end 0, eller hvis to
er større end længden af arrayet, fill
afsluttes metoden med det samme (udfører en return
sætning).
Denne return
erklæring er nyttig: praktisk talt alle metoder i Java har en, og her er hvorfor.
2. Metoder med et resultat,void
Husk, at vi engang fandt ud af, at der er udsagn, og der er udtryk . Et udtryk har i modsætning til et udsagn en værdi, der kan bruges et sted.
Og i Java kan metoder have en værdi . Og det er meget gode nyheder: Metoder er ikke kun i stand til at gøre noget baseret på inputparametrene, men også for eksempel at evaluere noget og returnere resultatet af beregningen .
Forresten har du allerede stødt på sådanne metoder:
|
Metoden abs() returnerer en dobbelt |
|
Metoden nextInt() returnerer enint |
|
Metoden toUpperCase() returnerer enString |
|
Metoden copyOf() returnerer enint[] |
Hver metode kan kun returnere én værdi af én forudbestemt type. Returtypen bestemmes, når metoden er deklareret:
public static Type name(parameters)
{
method body
}
Hvor name
er navnet på metoden, parameters
er listen over metodeparametre og type
er typen af resultat, som metoden returnerer.
For metoder, der ikke returnerer noget, er der en speciel pladsholdertype: void
.
Skriver du din egen metode og ønsker ikke at returnere noget til opkaldsmetoden? Bare erklær metodens type som void
, og problemet er løst. Der er også masser af metoder som denne i Java.
3. Returnerer et resultat
Vi har lige fundet ud af, hvordan man deklarerer en metode, der returnerer resultatet af en beregning, men hvordan resulterer vi dette resultat i selve metoden?
Udtalelsen return
hjælper os her endnu en gang. At sende et resultat fra en metode ser sådan ud:
return value;
Hvor return
er en erklæring, der afslutter metoden med det samme. Og value
er den værdi, som metoden returnerer til den kaldende metode, når den afsluttes. Typen af value
skal matche det type
angivne i metodedeklarationen.
Eksempel 1. Metoden beregner minimum af to tal:
|
Metoden returnerer minimum to tal. Hvis a < b retur a Ellers retur b |
Eksempel 2. Metoden dublerer strengen, der er sendt til den, n
gange:
|
Metoden tager to parametre - en streng og det antal gange, strengen skal gentages. En tom streng oprettes til det fremtidige resultat. I en loop med iterationer tilføjes times et mellemrum og strengen til strengen. Strengen returneres som resultatet af metoden. str result result |
Eksempel 3: Metoden beregner maksimum af to tal ved hjælp af den ternære operator:
|
Metoden returnerer maksimalt to tal. returnere (hvis a > b , så a ellers b ) |
GO TO FULL VERSION