1. returnAfirmaț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 returnurmat de punct și virgulă. De îndată ce programul execută această instrucțiune, metoda curentă iese imediat și apelarea continuă.
Dacă returneste apelat în mainmetodă, atunci mainmetoda 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 0sau dacă to este mai mare decât lungimea matricei, atunci metoda se termină imediat. |
Programul de mai sus are o fillmetodă 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ă fromeste mai mică decât 0 sau dacă to este mai mare decât lungimea matricei, atunci fillmetoda se termină imediat (execută o returninstrucțiune).
Această returnafirmaț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 returnne ajută încă o dată aici. Transmiterea unui rezultat dintr-o metodă arată astfel:
return value;
Unde returneste o declarație care încheie metoda imediat. Și value este valoarea pe care metoda o returnează metodei de apelare când iese. Tipul valuetrebuie să se potrivească cu cel typespecificat în declarația metodei.
Exemplul 1. Metoda calculează minimum două numere:
|
Metoda returnează minimum două numere. Dacă a < bse întoarce aÎn caz contrar, se întoarce b |
Exemplul 2. Metoda dublează șirul transmis de nori:
|
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 timesiterații, un spațiu și strșirul este adăugat la resultșir. Șirul resulteste 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