Ett föreläsningsutdrag med en mentor som en del av Codegym University-kursen. Anmäl dig till hela kursen.
"Du igen, Amigo. Nåväl, hej."
"Det verkar som om du inte är särskilt glad över att se mig, Diego?"
"Jag har fått intrycket att du tror att du redan har lärt dig allt som finns att veta om metoder i Java."
"Åh, jag gör inte..."
"Jag tror inte det! Du vet inte ens hälften av det."
"Visst, jag håller inte med...
"Okej, nog med snack. Det är dags att börja. Och vi börjar med något enkelt. Till exempel det faktum att Java har en retursats . Den låter dig omedelbart avsluta en metod som den kallas i. Här är uttalandet:
return;
"Det är enkelt: det ensamma ordet return
följt av ett semikolon. Så snart programmet kör detta uttalande avslutas den aktuella metoden och anropsmetoden fortsätter.
"Om return
det anropas i main
metoden, kommer metoden main
omedelbart att avslutas, och med den hela programmet.
Exempel:
|
Metoden fill fyller en del av den godkända arrayen med value . Den del av arrayen som ska fyllas definieras av indexen from och to . Om from är mindre än 0 eller om to är större än längden på arrayen, avslutas metoden omedelbart. |
"Ovanstående program har en fill
metod som fyller den array som skickas till den med . value
Den fyller inte hela arrayen, bara den del som anges av indexen from
och to
.
"I början av fill
metoden kontrolleras de godkända värdena för att säkerställa att de är giltiga. Om from
är mindre än 0, eller om to
är större än längden på arrayen, fill
avslutas metoden omedelbart (kör en return
sats)."
"Förstår det. Är det allt detta uttalande gör?"
"Egentligen return
är uttalandet mer användbart än du tror. Det är så användbart att det finns i nästan alla metoder i Java. Och nu ska jag leda dig till en förståelse för varför det är så.
Metoder med resultat,void
"Du kommer säkert ihåg att det finns uttalanden, och det finns uttryck . Vad är skillnaden mellan dem?"
"Om jag inte har fel så har ett uttryck, till skillnad från ett påstående, en betydelse som kan användas någonstans."
"Korrekt. Och i Java kan metoder också ha ett värde . Och detta är mycket goda nyheter: metoder kan inte bara göra något baserat på indataparametrarna, utan också till exempel att utvärdera något och returnera resultatet av beräkningen .
"Förresten, du har redan stött på sådana metoder:
|
Metoden abs() returnerar en dubbel |
|
Metoden nextInt() returnerar enint |
|
Metoden toUpperCase() returnerar enString |
|
Metoden copyOf() returnerar enint[] |
"Varje metod kan bara returnera ett värde av en förutbestämd typ . Returtypen bestäms när metoden deklareras:
public static Type name(parameters)
{
method body
}
Var name
är namnet på metoden, parameters
är listan över metodparametrar och type
är typen av resultat som metoden returnerar.
För metoder som inte returnerar något finns en speciell platshållartyp: void
.
"Med andra ord, om jag skriver min metod och inte vill returnera något, då deklarerar jag vilken typ av metod som är , void
och det är det?"
"Japp. Och jag måste också säga att Java har ganska många sådana metoder.
Returnerar ett resultat
"Jag kom på hur man deklarerar en metod som returnerar resultatet av en beräkning/arbete. Hur returnerar jag resultatet från själva metoden?"
"Det är en giltig fråga. return
Uttalandet hjälper oss här igen. Att skicka ett resultat från en metod ser ut så här:
return value;
"Satsen return
kommer att avsluta metoden omedelbart. Och value
det är vad metoden ska återgå till anropsmetoden när den avslutas. Typen av value
måste matcha det Type
specificerade i metoddeklarationen. Här är några exempel för att förstärka det du har lärt dig:
Exempel 1. Metoden beräknar minimum av två tal:
|
Metoden returnerar minst två siffror. Om a < b retur a Annars returnera b |
Exempel 2. Metoden duplicerar strängen som skickas till den n
gånger:
|
Metoden tar två parametrar - en sträng och antalet gånger som strängen ska upprepas. En tom sträng skapas för det framtida resultatet. I en slinga med iterationer läggs times ett mellanslag och strängen till strängen . Strängen returneras som resultatet av metoden.str result result |
Exempel 3: Metoden beräknar maximalt två tal med den ternära operatorn:
|
Metoden returnerar maximalt två tal. returnera (om a > b , då a , annars b ) |
"Utmärkt. Metoder är min nya superkraft!"
"Bara om du övar tillräckligt på praktiska uppgifter. Om och om igen."
GO TO FULL VERSION