1. return
Uttalelsen
Tror du at du allerede har lært alt om Java-metoder? Uansett hva du tror du vet, vet du fortsatt ikke halvparten av det.
La oss starte med noe enkelt. For eksempel har Java en retursetning som lar deg øyeblikkelig avslutte metoden som kaller den. Her er uttalelsen:
return;
Det er enkelt: det ensomme ordet return
etterfulgt av et semikolon. Så snart programmet kjører denne setningen, avsluttes den gjeldende metoden umiddelbart, og anropet fortsetter.
Hvis return
det kalles i main
metoden, main
vil metoden umiddelbart avsluttes, og med det hele programmet.
Eksempel:
|
Metoden fill fyller en del av den beståtte matrisen med value . Den delen av matrisen som skal fylles er definert av indeksene from og to . Hvis from er mindre enn 0 eller hvis to er større enn lengden på matrisen, avsluttes metoden umiddelbart. |
Programmet ovenfor har en fill
metode som fyller arrayet som sendes til det med value
. Den fyller ikke hele matrisen, bare delen spesifisert av indeksene from
og to
.
I begynnelsen av metoden fill
kontrolleres de beståtte verdiene for å sikre at de er gyldige. Hvis from
er mindre enn 0, eller hvis to
er større enn lengden på matrisen, fill
avsluttes metoden umiddelbart (utfører en return
setning).
Denne return
uttalelsen er nyttig: praktisk talt alle metoder i Java har en, og her er hvorfor.
2. Metoder med resultat,void
Husk at vi en gang fant ut at det er utsagn, og det er uttrykk . Et uttrykk, i motsetning til et utsagn, har en verdi som kan brukes et sted.
Og i Java kan metoder ha en verdi . Og dette er veldig gode nyheter: metoder er ikke bare i stand til å gjøre noe basert på inngangsparametrene, men også for eksempel å evaluere noe og returnere resultatet av beregningen .
Forresten, du har allerede møtt slike metoder:
|
Metoden abs() returnerer en dobbel |
|
Metoden nextInt() returnerer enint |
|
Metoden toUpperCase() returnerer enString |
|
Metoden copyOf() returnerer enint[] |
Hver metode kan bare returnere én verdi av én forhåndsbestemt type. Returtypen bestemmes når metoden er deklarert:
public static Type name(parameters)
{
method body
}
Hvor name
er navnet på metoden, parameters
er listen over metodeparametere, og type
er typen resultat som metoden returnerer.
For metoder som ikke returnerer noe, er det en spesiell plassholdertype: void
.
Skriver du din egen metode og vil ikke returnere noe til ringemetoden? Bare erklær metodens type som void
, og problemet er løst. Det er også mange metoder som dette i Java.
3. Returnere et resultat
Vi har nettopp funnet ut hvordan vi kan deklarere en metode som returnerer resultatet av en beregning, men hvordan resulterer vi dette resultatet i selve metoden?
Uttalelsen return
hjelper oss her igjen. Å sende et resultat fra en metode ser slik ut:
return value;
Hvor return
er en uttalelse som avslutter metoden umiddelbart. Og value
er verdien som metoden returnerer til kallemetoden når den avsluttes. Typen av value
må samsvare med det type
spesifiserte i metodedeklarasjonen.
Eksempel 1. Metoden beregner minimum av to tall:
|
Metoden returnerer minimum to tall. Hvis a < b retur a Ellers retur b |
Eksempel 2. Metoden dupliserer strengen som sendes til den n
ganger:
|
Metoden tar to parametere - en streng og antall ganger strengen skal gjentas. En tom streng opprettes for det fremtidige resultatet. I en løkke med iterasjoner legges times et mellomrom og strengen til strengen. Strengen returneres som et resultat av metoden. str result result |
Eksempel 3: Metoden beregner maksimalt to tall ved å bruke den ternære operatoren:
|
Metoden returnerer maksimalt to tall. returnere (hvis a > b , da a , ellers b ) |
GO TO FULL VERSION