Et foredragsuddrag med en mentor som en del af Codegym University-kurset. Tilmeld dig hele kurset.
"Du igen, Amigo. Nå, hej."
"Det ser ud til, at du ikke er særlig glad for at se mig, Diego?"
"Jeg har fået det indtryk, at du tror, at du allerede har lært alt, hvad der er at vide om metoder i Java."
"Åh, det gør jeg ikke..."
"Det tror jeg ikke! Du kender ikke engang halvdelen af det."
"Selvfølgelig er jeg ikke uenig...
"Okay, nok snak. Det er tid til at starte. Og vi starter med noget simpelt. For eksempel det faktum, at Java har en returerklæring . Det giver dig mulighed for øjeblikkeligt at afslutte en metode, som den kaldes i. Her er erklæringen:
return;
"Det er enkelt: det ensomme ord return
efterfulgt af et semikolon. Så snart programmet udfører denne sætning, afsluttes den aktuelle metode, og opkaldsmetoden fortsætter.
"Hvis return
det kaldes i main
metoden, main
slutter metoden med det samme, og med det hele programmet.
Eksempel:
|
Metoden fill fylder 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)."
"Forstår det. Er det alt, hvad denne udtalelse gør?"
"Faktisk return
er udsagnet mere brugbart, end du tror. Det er så nyttigt, at det findes i næsten alle metoder i Java. Og nu vil jeg føre dig til en forståelse af, hvorfor det er sådan.
Metoder med resultat,void
"Du kan sikkert huske, at der er udsagn, og der er udtryk . Hvad er forskellen på dem?"
"Hvis jeg ikke tager fejl, har et udtryk, i modsætning til et udsagn, en betydning, der kan bruges et sted."
"Korrekt. Og i Java kan metoder også 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 regnestykket .
"Du har forresten 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 erklæres:
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
.
"Med andre ord, hvis jeg skriver min metode og ikke ønsker at returnere noget, så erklærer jeg typen af metode til at være void
, og det er det?"
"Jep. Og jeg må også sige, at Java har ret mange af den slags metoder.
Returnerer et resultat
"Jeg fandt ud af, hvordan man deklarerer en metode, der returnerer resultatet af en beregning/arbejde. Hvordan returnerer jeg resultatet fra selve metoden?"
"Det er et gyldigt spørgsmål. return
Udsagnet hjælper os her igen. At videregive et resultat fra en metode ser sådan ud:
return value;
" return
Sætningen vil afslutte metoden med det samme. Og value
det er det, metoden skal vende tilbage til den kaldende metode, når den afsluttes. Typen af value
skal matche det Type
specificerede i metodeerklæringen. Her er nogle eksempler for at forstærke det, du har lært:
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 ) |
"Fremragende. Metoder er min nye superkraft!"
"Kun hvis du øver dig nok i praktiske opgaver. Over and out."
GO TO FULL VERSION