Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.
"Tu din nou, Amigo. Ei bine, salut."
— Se pare că nu ești foarte fericit să mă vezi, Diego?
„Am avut impresia că crezi că ai învățat deja tot ce trebuie să știi despre metodele în Java.”
"Oh, eu nu..."
"Nu cred! Nici măcar jumătate nu știi."
„Sigur, nu dezacord...
"Bine, destul de vorbit. Este timpul să începem. Și vom începe cu ceva simplu. De exemplu, faptul că Java are o instrucțiune return . Vă permite să terminați instantaneu o metodă în care este apelată. 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 și metoda de apelare 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 care i-a fost 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)."
— Am înțeles. Asta este tot ce face această declarație?
„De fapt, return
afirmația este mai utilă decât credeți. Este atât de utilă încât se găsește în aproape toate metodele din Java. Și acum vă voi conduce la înțelegerea de ce este așa.
Metode cu rezultat,void
"Probabil vă amintiți că există afirmații și există expresii . Care este diferența dintre ele?"
„Dacă nu mă înșel, o expresie, spre deosebire de o afirmație, are un sens care poate fi folosit undeva”.
„Corect. Și, în Java, metodele pot avea și o valoare . Și aceasta este o veste foarte bună: metodele nu numai că sunt capabile să facă ceva pe baza parametrilor de intrare, ci și, de exemplu, să evalueze ceva și să returneze rezultatul calculul .
„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 o singură valoare a unui tip predeterminat . Tipul returnat 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
.
"Cu alte cuvinte, dacă îmi scriu metoda și nu vreau să returnez nimic, atunci declar tipul metodei ca fiind void
, și atât?"
„Da. Și, trebuie să spun, de asemenea, că Java are destul de multe astfel de metode.
Întoarcerea unui rezultat
"Mi-am dat seama cum să declar o metodă care returnează rezultatul unui calcul/lucru. Cum returnez rezultatul din metoda în sine?"
„Aceasta este o întrebare validă. return
Declarația ne ajută încă o dată aici. Transmiterea unui rezultat dintr-o metodă arată astfel:
return value;
„ return
Instrucțiunea va termina imediat metoda. Și value
este ceea ce metoda ar trebui să revină la metoda de apelare când iese. Tipul de value
trebuie să se potrivească cu cel Type
specificat în declarația metodei. Iată câteva exemple pentru a consolida ceea ce ați învățat:
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 șirul str sunt adăugate la șir result . Ș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 ) |
"Excelent. Metodele sunt noua mea superputere!"
„Numai dacă exersezi suficient în sarcinile practice.
GO TO FULL VERSION