Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.


"Ești deja aici, Amigo? Știu că ai învățat deja o mulțime de comenzi Java. Aproape ai ajuns la nivelul meu!"

— Este adevărat, Diego?

„Bineînțeles că nu, ha-ha. Mai ai multe de studiat și de învățat. Cu toate acestea, știi deja suficient pentru a scrie programe destul de complexe. 10, 20, 30 de linii de cod într-un program nu este un program foarte mare, dreapta?"

"Bănuiesc că ai dreptate. Mai ales dacă pui bretele pe linii separate."

„Dar un program de peste 100 de linii, acum e mare. Chiar și nouă, roboții, înțelegem destul de greu un astfel de cod. Ce crezi, poți face ceva pentru a simplifica cumva scrierea și citirea programelor care au mult cod?

"Sper din tot sufletul!"

„Speranțele tale nu sunt în zadar. Este posibil să simplificăm programele, iar metodele sunt aici pentru a ne ajuta în acest sens. Uneori sunt numite funcții .

"Funcții, metode... Uh, care sunt acestea?"

„Spunând foarte simplu, o metodă este un grup de comenzi care are un nume unic . Cu alte cuvinte, punem mai multe comenzi într-un grup și îi dăm un nume unic. Și gata — boom — avem o metodă. Cele mai multe adesea, aceste comenzi sunt grupate în funcție de o anumită rațiune pentru a rezolva o sarcină mică și specifică. De exemplu, „o metodă de tipărire a liniilor dintr-un fișier” sau „o metodă de ridicare a unui număr la un exponent”.

„Deci, am împărțit programul în metode?”

„Da, și simplifică codul.

Exemplu:

Fără o metodă Cu o metodă
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

„În programul din coloana din stânga, repetăm ​​același cod de trei ori - am făcut acest lucru intenționat pentru a ilustra un punct. Dar în programul din dreapta, am mutat codul repetat într-o metodă separată și i-am dat un nume unic - printWiFi.

Și în loc de codul relocat, apelăm printWiFi()metoda de 3 ori.

„Când se rulează programul din coloana din dreapta, de fiecare dată când se execută metoda, sunt executate printWiFi()toate comenzile din interiorul metodei. Tocmai am creat o nouă comandă (metodă), combinând mai multe comenzi într-un singur grup.printWiFi()

„Orice cod poate fi împărțit în metode separate. Acest lucru se face pentru a simplifica lucrurile: ideea este că este mai bine să aveți mai multe metode mici decât una mare.

„Este o idee grozavă să împărțim un program în metode.

„În curând îți vei aminti cu mirare cum scriai programe fără să-ți faci propriile metode.”

"Sunt gata să ascult și să încerc să scriu metode! Spune-mi doar cum să o fac."

Declararea unei metode în Java

„Cum putem declara cea mai simplă metodă? Iată cum:

public static void name()
{
  method body
}

Unde nameeste numele unic al metodei și method bodyreprezintă comenzile care alcătuiesc metoda. Semnificația cuvintelor public, staticși voidva fi discutată mai târziu.

„După ce am creat o metodă, o putem apela în celelalte metode ale noastre. Un apel de metodă arată astfel:

name();

„Unde nameeste numele unic al metodei pe care vrem să o apelăm, adică metoda ale cărei comenzi vrem să le executăm când ajungem la apelul metodei.

„Când programul ajunge la apelul metodei, pur și simplu va intra în metodă, va executa toate comenzile, va reveni la metoda inițială și va continua execuția.

"Și acum, Amigo, uită-te cu alți ochi la comenzile pe care le-ai învățat deja. De exemplu, . Îți vine ceva în minte cu privire la ce este asta cu adevărat?"System.out.println()

"Vrei să spui că toate aceste comenzi sunt doar metode scrise de alți programatori?"

"Nu toți, dar mulți dintre ei. Da, exact! Alții le-au scris pentru a ne ușura viața."

"La fel public static void main(String[] args)este și o metodă... Acum are mai mult sens!"

„Desigur, da! Este programare! Se pare că metoda principală — alfa și omega a programului — poate conține apeluri la alte metode:

Cod Notă
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




Numim print10TimesWiFi()metoda


Declarăm print10TimesWiFimetoda


Numim printWiFi() metoda 10 într-o buclă


Declaram printWiFimetoda

Afișăm „ Wi-Fi” pe ecran

Fapte despre metode

„Am lăsat deoparte câteva fapte utile despre metode pentru tine. Aici, bucură-te de:

Faptul 1. O metodă face întotdeauna parte dintr-o clasă.

O metodă poate fi declarată numai într-o clasă. O metodă nu poate fi declarată în interiorul unei alte metode. O metodă nu poate fi declarată în afara unei clase.

Faptul 2. Numele unei metode nu are sens sacru

Nu contează ce metode sunt numite - asta nu afectează nimic. Metoda principală este o metodă la fel ca toate celelalte. Doar că acest nume a fost ales pentru metoda din care mașina Java va începe execuția programului. Nu este nimic magic în asta. Acestea fiind spuse, este mai bine să alegeți nume de metode care să clarifice puțin pentru ce sunt acestea. Voi vorbi despre asta puțin mai târziu.

Faptul 3. Ordinea metodelor dintr-o clasă nu contează

Puteți scrie metodele într-o clasă în orice ordine - acest lucru nu va afecta în niciun fel execuția programului. Exemplu:

Cod
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Faptul 4. Variabilele din interiorul unei metode nu sunt legate în niciun fel de variabilele altor metode

Ce se intampla in Vegas, ramane in Vegas. Iar variabilele declarate în interiorul unei metode rămân în interiorul metodei.

Variabilele cu aceleași nume pot fi declarate în două metode adiacente, iar aceste variabile nu sunt legate între ele în niciun fel.

Nume de metode

"Așa că... am promis să vă spun despre numele metodelor. Se știe de mult că cele mai dificile două probleme în programare sunt alegerea numelor potrivite pentru metode și alegerea numelor potrivite pentru variabile."

„Nu am crezut niciodată că este atât de greu!”

„Doar că nu știai prea multe despre codul vag al altora, unde variabilele și metodele au nume arbitrare. Încearcă doar să-ți dai seama de acel cod. De fapt, aproape o întreagă știință a apărut cu privire la cum să denumești corect metodele. Și fiecare limbaj de programare are propriile standarde.

„În Java, este obișnuit să urmați aceste principii:

Principiul 1. Numele unei metode ar trebui să descrie pe scurt ceea ce face metoda.

Apoi, un alt programator care vă citește codul se poate baza pe numele metodei pentru a ghici ce face codul. El sau ea nu va trebui să se uite de fiecare dată la codul metodelor apelate. Și scopul metodelor este mai ușor de reținut.

De exemplu, este folosit pentru a „a pune programul în stare de adormire” și este folosit pentru a „citi următorul întreg”. Convenabil, nu?Thread.sleep()Scanner.nextInt()

Principiul 2. Numele unei metode poate fi mai multe cuvinte.

Cu toate acestea, există mai multe limitări atunci când faceți acest lucru:

  • Nu puteți avea spații într-un nume de metodă: toate cuvintele sunt scrise împreună.
  • Fiecare cuvânt este scris cu majuscule, cu excepția primului.
  • Numele unei metode începe întotdeauna cu o literă mică

Amintiți-vă print10TimesWiFimetoda. Ce înseamnă acest nume? „Afișează cuvântul „WiFi” de 10 ori”. Nu ar trebui să includeți multe cuvinte în numele unei metode: numele ar trebui să reflecte însăși esența sa.

Acest standard pentru metodele de denumire se numește CamelCase (Literele mari sunt ca cocoașele unei cămile).

Principiul 3. Numele unei metode începe cu un verb.

O metodă face întotdeauna ceva, așa că primul cuvânt dintr-un nume de metodă este întotdeauna o acțiune.

Iată câteva nume proaste pentru metode: home, cat, car, train, ...;

Câteva nume bune sunt: run​​, execute, print, read, write,...

Principiul 4. Numele unei metode folosește numai litere și cifre latine.

Java are suport excelent pentru diferite limbi. Puteți scrie numele variabilelor, metodelor și claselor în rusă, precum și în chineză - totul va funcționa!

Dar! Imaginează-ți cât timp ar trebui să studiezi Java, dacă System.out.println()metoda ar fi scrisă în chineză?

Mult mai mult decât acum, nu? Acesta este primul punct.

În al doilea rând, multe echipe de dezvoltare software sunt internaționale. Un număr foarte mare de biblioteci Java sunt folosite de programatori din întreaga lume.

Prin urmare, este recomandat să folosiți numai litere și cifre latine în numele metodelor.

Important:

Numele unei metode trebuie să înceapă cu o literă (nu poate începe cu un număr).

"Acestea sunt toate principiile de bază care guvernează denumirea metodelor în Java. Lecția s-a terminat acum. Rezolvați sarcinile!"

— Deja alerg, Diego!


Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.