1. Funkcje/Metody w Javie

Nauczyłeś się już dużej liczby poleceń w Javie, co oznacza, że ​​możesz pisać dość złożone programy. 10, 20, 30 linii kodu w programie to nie taki duży program, prawda?

Ale program z ponad 100 liniami jest już duży i dość trudno jest zrozumieć jego kod. Czy można jakoś uprościć pisanie i odczytywanie programów przy dużej ilości kodu?

Tak, a metody (funkcje) nam w tym pomogą.

Co to jest metoda? Cóż, upraszczając wiele, metoda to grupa poleceń, która ma unikalną nazwę . Innymi słowy, po prostu komponujemy kilka poleceń w jedną grupę i nadajemy jej unikalną nazwę. I to wszystko - metoda jest gotowa.

Przykład:

żadna metoda Z 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");
   }
}

W programie w lewej kolumnie mamy ten sam kod powtórzony trzykrotnie – zrobiliśmy to specjalnie dla przykładu. A w programie po prawej stronie przenieśliśmy powtarzalny kod do osobnej metody i nadaliśmy jej unikalną nazwę - printWiFi.

I zamiast wyrenderowanego kodu napisali 3 razy wywołanie metody printWiFi().

Kiedy program w kolumnie po prawej stronie jest wykonywany, za każdym razem, gdy wykonywane jest polecenie, printWiFi()wykona on wszystkie polecenia wewnątrz pliku printWiFi(). Po prostu stworzyliśmy nowe polecenie (metodę), łącząc kilka poleceń w jedną grupę.

Każdy kod można podzielić na osobne metody. Ma to na celu uproszczenie: uważa się, że lepiej mieć wiele małych metod niż jedną dużą. Wkrótce zdziwisz się, że kiedyś pisałeś swoje programy, ale nie pisałeś swoich metod.


2. Deklaracja metody w Javie

Jak więc poprawnie napisać własną metodę?

Podczas deklarowania (tworzenia) metody należy wziąć pod uwagę wiele niuansów, ale zacznijmy od głównego. Jak możemy jeszcze zadeklarować najprostszą metodę? Prosta deklaracja metody wygląda następująco:

public static void Nazwa()
{
   kod метода
}

Gdzie Nazwa jest unikalną nazwą metody i kod методаpoleceniami, które składają się na metodę. Znaczenie słów publici rozważymy nieco później static.void

Po utworzeniu metody możemy ją wywołać w innych naszych metodach. Wezwanie wygląda następująco:

Nazwa();

Gdzie Nazwajest unikalna nazwa metody, którą chcemy wywołać i której polecenia chcemy wykonać w miejscu, w którym została wywołana.

Kiedy program dotrze do polecenia zawierającego wywołanie naszej metody, po prostu wskoczy do metody, wykona wszystkie jej polecenia, powróci do oryginalnej metody i będzie kontynuował wykonywanie.

Jak można się domyślić, większość poleceń, których nauczyliśmy się do tej pory, to metody napisane przez innych programistów, aby ułatwić nam życie: , , itd.System.out.println()Thread.sleep()

Kod metody może zawierać wywołania innych metod:

Kod Notatka
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");
   }
}




Wywołujemy metodę printWiFi10Times()


Deklarujemy metodę printWiFi10Times


Wywołujemy metodę printWiFi() 10 razy w pętli


Deklarujemy metodę printWiFi

Wyświetlamy tekst:
Wi-Fi

3. Fakty dotyczące metod

Oto kilka dodatkowych faktów na temat metod:

Fakt 1. Metoda jest zawsze częścią klasy.

Metodę można zadeklarować tylko w klasie. Metody nie można zadeklarować wewnątrz innej metody. Metody nie można zadeklarować poza klasą.

Fakt 2. Nazwa metody nie ma świętego znaczenia

Nie ma znaczenia, jak nazywa się metody - nie wpływa to na nic. Główna metoda jest taka sama jak każda inna metoda. Tyle tylko, że taką nazwę wybrano dla metody, za pomocą której maszyna Java rozpoczyna wykonywanie programu. Nie ma w nim nic magicznego.

Fakt 3. Kolejność metod w klasie nie ma znaczenia

Możesz pisać swoje metody w klasie w dowolnej kolejności - nie wpłynie to w żaden sposób na działanie programu. Przykład:

Kod
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();
   }
}

Fakt 4. Zmienne wewnątrz jednej metody nie są w żaden sposób powiązane ze zmiennymi w innych metodach

Co dzieje się w Vegas, zostaje w Vegas. A zmienne zadeklarowane wewnątrz metody pozostają w tej metodzie.

Dwie sąsiednie metody mogą mieć zadeklarowane te same zmienne, a zmienne te nie są ze sobą w żaden sposób powiązane.


4. Nazwy metod

Nie od dziś wiadomo, że dwa najtrudniejsze problemy w programowaniu to wybór odpowiedniej nazwy dla metody oraz sposób nazwania zmiennej.

W rzeczywistości istnieje już prawie cała nauka o prawidłowym nazywaniu metod. A każdy język programowania ma swoje własne standardy. W Javie zwyczajowo kieruje się następującymi zasadami:

Zasada 1. Nazwa metody powinna krótko opisywać, co robi ta metoda.

Wtedy programista, który czyta twój kod, będzie mógł odgadnąć, co ten kod robi po nazwie metody, i nie będzie musiał za każdym razem patrzeć na kod wywoływanych metod. A cel metod jest łatwiejszy do zapamiętania.

Pamiętaj o tym samym - "uśpij program" i - "policz następną liczbę całkowitą". To wygodne, naprawdę.Thread.sleep()Scanner.nextInt()

Zasada 2. Nazwa metody może składać się z kilku słów.

Ten przypadek ma jednak kilka ograniczeń:

  • W nazwie metody nie można wpisywać spacji: wszystkie słowa są pisane razem.
  • Każde słowo jest pisane wielką literą, z wyjątkiem pierwszego.
  • Nazwa metody jest zawsze pisana małymi literami

Zapamiętaj tę samą metodę printWiFi10Times. Co oznacza jego imię? „napisz słowo WiFi 10 razy”. Nie ma potrzeby pisania wielu słów w nazwie metody: nazwa powinna oddawać istotę.

Ten standard pisania imion nazywa się CamelCase (Wielbłąd to wielbłąd. Duże litery wyglądają jak garby wielbłąda).

Zasada 3. Nazwa metody zaczyna się od czasownika.

Metoda zawsze coś robi, więc pierwsze słowo w nazwie metody to zawsze akcja.

Złe nazwy metody: home, cat, car, train, ...;

Dobre imiona: run, execute, print, read, write, ...

Zasada 4. Używaj tylko liter i cyfr łacińskich

Java bardzo dobrze obsługuje różne języki. Możesz pisać nazwy zmiennych, metod i klas nawet po rosyjsku, nawet po chińsku - wszystko będzie działać!

Ale! Jak długo uczyłbyś się Javy, gdyby nazwa metody System.out.println()była po chińsku? Znacznie dłużej niż teraz, prawda? To jest pierwsze.

Po drugie, nad wieloma projektami pracują międzynarodowe zespoły. Bardzo duża liczba bibliotek Javy jest używana przez programistów z całego świata.

Dlatego zaleca się używanie w nazwach metod wyłącznie liter i cyfr łacińskich.

Ważny:
Nazwa metody musi zaczynać się od litery (nie od cyfry).