En forelesningsbit med en mentor som en del av Codegym University-kurset. Meld deg på hele kurset.
"Du igjen, Amigo. Vel, hei."
"Det ser ut til at du ikke er veldig glad for å se meg, Diego?"
"Jeg har fått inntrykk av at du tror at du allerede har lært alt som er å vite om metoder i Java."
"Å, jeg gjør ikke..."
"Jeg tror ikke det! Du vet ikke engang halvparten av det."
"Jada, jeg er ikke uenig ...
"Ok, nok snakk. Det er på tide å begynne. Og vi starter med noe enkelt. For eksempel det faktum at Java har en retursetning . Den lar deg øyeblikkelig avslutte en metode som den kalles i. Her er uttalelsen:
return;
"Det er enkelt: det enslige ordet return
etterfulgt av et semikolon. Så snart programmet kjører denne setningen, avsluttes den gjeldende metoden og oppkallingsmetoden fortsetter.
"Hvis return
det kalles inn 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
. Det fyller ikke hele arrayet, 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)."
"Skjønner det. Er det alt denne uttalelsen gjør?"
"Egentlig return
er uttalelsen mer nyttig enn du tror. Den er så nyttig at den finnes i nesten alle metoder i Java. Og nå vil jeg lede deg til en forståelse av hvorfor det er slik.
Metoder med resultat,void
"Du husker sikkert at det er utsagn, og det er uttrykk . Hva er forskjellen på dem?"
"Hvis jeg ikke tar feil, har et uttrykk, i motsetning til et utsagn, en betydning som kan brukes et sted."
"Riktig. Og i Java kan metoder også 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 regnestykket .
"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
.
"Med andre ord, hvis jeg skriver metoden min og ikke vil returnere noe, så erklærer jeg hvilken type metode som er void
, og det er det?"
"Ja. Og jeg må også si at Java har ganske mange slike metoder.
Returnerer et resultat
"Jeg fant ut hvordan jeg kan deklarere en metode som returnerer resultatet av en beregning/arbeid. Hvordan returnerer jeg resultatet fra selve metoden?"
"Det er et gyldig spørsmål. return
Utsagnet hjelper oss her igjen. Å sende et resultat fra en metode ser slik ut:
return value;
" return
Uttalelsen vil avslutte metoden umiddelbart. Og value
det er det metoden skal returnere til kallemetoden når den avsluttes. Typen value
må samsvare med det Type
spesifiserte i metodeerklæringen. Her er noen eksempler for å forsterke det du har lært:
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 ) |
"Utmerket. Metoder er min nye superkraft!"
"Bare hvis du øver nok på praktiske oppgaver. Over and out."
GO TO FULL VERSION