1. return
Afirmația
Crezi că ai învățat deja totul despre metodele Java? Orice crezi că știi, încă nu știi jumătate.
Să începem cu ceva simplu. De exemplu, Java are o instrucțiune return care vă permite să opriți instantaneu metoda care o apelează. Iată declarația:
return;
Este simplu: cuvântul solitar return
urmat de punct și virgulă. De îndată ce programul execută această instrucțiune, metoda curentă iese imediat și apelarea continuă.
Dacă return
este apelat în main
metodă, atunci main
metoda se va încheia imediat și, odată cu ea, întregul program.
Exemplu:
|
Metoda fill umple o parte din tabloul transmis cu value . Partea matricei care trebuie completată este definită de indici from și to . Dacă from este mai mică decât 0 sau dacă to este mai mare decât lungimea matricei, atunci metoda se termină imediat. |
Programul de mai sus are o fill
metodă care umple matricea transmisă cu value
. Nu umple întregul tablou, ci doar partea specificată de indici from
și to
.
La începutul metodei fill
, valorile transmise sunt verificate pentru a se asigura că sunt valide. Dacă from
este mai mică decât 0 sau dacă to
este mai mare decât lungimea matricei, atunci fill
metoda se termină imediat (execută o return
instrucțiune).
Această return
afirmație este utilă: practic fiecare metodă din Java are una și iată de ce.
2. Metode cu rezultat,void
Amintiți-vă că odată ne-am dat seama că există afirmații și există expresii . O expresie, spre deosebire de o afirmație, are o valoare care poate fi folosită undeva.
Și, în Java, metodele pot avea o valoare . Și aceasta este o veste foarte bună: metodele nu numai că pot face ceva pe baza parametrilor de intrare, ci și, de exemplu, să evalueze ceva și să returneze rezultatul calculului .
Apropo, ați întâlnit deja astfel de metode:
|
Metoda abs() returnează un dublu |
|
Metoda nextInt() returnează unint |
|
Metoda toUpperCase() returnează aString |
|
Metoda copyOf() returnează unint[] |
Fiecare metodă poate returna doar o valoare de un tip predeterminat. Tipul de returnare este determinat atunci când metoda este declarată:
public static Type name(parameters)
{
method body
}
Unde name
este numele metodei, parameters
este lista de parametri ai metodei și type
este tipul rezultatului pe care îl returnează metoda.
Pentru metodele care nu returnează nimic, există un tip special de substituent: void
.
Îți scrii propria metodă și nu vrei să returnezi nimic la metoda de apelare? Doar declarați tipul metodei ca void
și problema este rezolvată. Există, de asemenea, o mulțime de metode ca aceasta în Java.
3. Returnarea unui rezultat
Tocmai ne-am dat seama cum să declarăm o metodă care returnează rezultatul unui calcul, dar cum rezultăm acest rezultat în metoda în sine?
Declarația return
ne ajută încă o dată aici. Transmiterea unui rezultat dintr-o metodă arată astfel:
return value;
Unde return
este o declarație care încheie metoda imediat. Și value
este valoarea pe care metoda o returnează metodei de apelare când iese. Tipul value
trebuie să se potrivească cu cel type
specificat în declarația metodei.
Exemplul 1. Metoda calculează minimum două numere:
|
Metoda returnează minimum două numere. Dacă a < b se întoarce a În caz contrar, se întoarce b |
Exemplul 2. Metoda dublează șirul transmis de n
ori:
|
Metoda ia doi parametri - un șir și numărul de ori în care șirul trebuie repetat. Este creat un șir gol pentru rezultatul viitor. Într-o buclă cu times iterații, un spațiu și str șirul este adăugat la result șir. Șirul result este returnat ca rezultat al metodei. |
Exemplul 3: Metoda calculează maximum două numere folosind operatorul ternar:
|
Metoda returnează maximum două numere. returnează (dacă a > b , atunci a , altfel b ) |
GO TO FULL VERSION