1. return
Utlåtandet
Tror du att du redan har lärt dig allt om Java-metoder? Vad du än tror att du vet, vet du fortfarande inte hälften av det.
Låt oss börja med något enkelt. Till exempel har Java en retursats som låter dig omedelbart avsluta metoden som anropar den. Här är uttalandet:
return;
Det är enkelt: det ensamma ordet return
följt av ett semikolon. Så snart programmet kör denna sats avslutas den aktuella metoden omedelbart och anropet fortsätter.
Om return
anropas i main
metoden, main
kommer metoden omedelbart att avslutas, och med det 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).
Detta return
uttalande är användbart: praktiskt taget alla metoder i Java har en, och här är varför.
2. Metoder med resultat,void
Kom ihåg att vi en gång kom på att det finns påståenden och det finns uttryck . Ett uttryck, till skillnad från ett påstående, har ett värde som kan användas någonstans.
Och i Java kan metoder ha ett värde . Och detta är mycket goda nyheter: metoder kan inte bara göra något baserat på ingångsparametrarna, 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
.
Skriver du din egen metod och vill inte returnera något till anropsmetoden? Deklarera bara metodens typ som void
, så är problemet löst. Det finns också många sådana här metoder i Java.
3. Returnera ett resultat
Vi har precis kommit på hur man deklarerar en metod som returnerar resultatet av en beräkning, men hur ger vi resultatet i själva metoden?
Uttalandet return
hjälper oss här igen. Att skicka ett resultat från en metod ser ut så här:
return value;
Var return
är ett uttalande som avslutar metoden omedelbart. Och value
är det värde som metoden returnerar till anropsmetoden när den avslutas. Typen av value
måste matcha det type
som anges i metoddeklarationen.
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 ) |