1. returnRedegø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 returnefterfulgt af et semikolon. Så snart programmet udfører denne sætning, afsluttes den aktuelle metode med det samme, og opkaldet fortsætter.
Hvis returndet kaldes i mainmetoden, mainslutter 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 0eller hvis to er større end længden af arrayet, afsluttes metoden med det samme. |
Ovenstående program har en fillmetode, der udfylder det array, der sendes til det, med value. Det fylder ikke hele arrayet, kun den del, der er specificeret af indekserne fromog to.
I begyndelsen af fill metoden kontrolleres de beståede værdier for at sikre, at de er gyldige. Hvis fromer mindre end 0, eller hvis to er større end længden af arrayet, fillafsluttes metoden med det samme (udfører en returnsætning).
Denne returnerklæ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 returnhjælper os her endnu en gang. At sende et resultat fra en metode ser sådan ud:
return value;
Hvor returner 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 valueskal matche det typeangivne i metodedeklarationen.
Eksempel 1. Metoden beregner minimum af to tal:
|
Metoden returnerer minimum to tal. Hvis a < bretur aEllers retur b |
Eksempel 2. Metoden dublerer strengen, der er sendt til den, ngange:
|
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 timeset mellemrum og strengen til strengen. Strengen returneres som resultatet af metoden. strresultresult |
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å aellers b) |
GO TO FULL VERSION