1. Operatorreturn
Myślisz, że nauczyłeś się już wszystkiego o metodach w Javie? Tak czy inaczej, nadal nie znasz połowy z tego.
Zacznijmy od czegoś prostego. Na przykład Java ma polecenie (operator) return , które pozwala na natychmiastowe zakończenie metody, w której została wywołana. Wygląd drużyny:
return;
Wszystko: tylko jedno słowo return
i średnik. Gdy tylko program wykona to polecenie, praca bieżącej metody natychmiast się zakończy, a praca metody wywołującej będzie kontynuowana.
Jeśli return
zostanie wywołana metoda main
, metoda main
natychmiast się zakończy, a wraz z nią cały program.
Przykład:
|
Metoda fill wypełnia część przekazanej tablicy wartością value . Część tablicy jest zdefiniowana przez indeksy from i to . Jeśli from jest mniejsza 0 lub to większa niż długość tablicy, metoda kończy się natychmiast. |
Powyższy program posiada metodę fill
, która wypełnia przekazaną do niego tablicę wartością value
i wypełnia nie całą tablicę, ale jej część określoną przez indeksy from
i to
.
Na początku metody fill
sprawdzane jest, czy przekazywane do niej wartości są poprawne. Jeśli from
jest mniejsza niż 0 lub to
większa niż długość tablicy, to metoda fill
kończy się natychmiast (wywołuje polecenie return
).
Przydatną rzeczą jest ten operator return
: jest w prawie każdej metodzie w Javie, a oto dlaczego.
2. Funkcje z wynikiem,void
Pamiętaj, kiedyś analizowaliśmy, że są polecenia, ale są wyrażenia . A wyrażenie, w przeciwieństwie do polecenia, ma wartość, której można użyć w dowolnym miejscu.
Tak więc w Javie metody mogą mieć znaczenie . I to jest bardzo dobra wiadomość: metody mogą nie tylko zrobić coś w zależności od parametrów, ale też np. coś obliczyć i zwrócić wynik obliczeń .
Nawiasem mówiąc, czy spotkałeś się już z takimi metodami:
|
Metoda abs() zwraca podwójną wartość |
|
Metoda nextInt() zwraca wartość typuint |
|
Metoda toUpperCase() zwraca wartość typuString |
|
Metoda copyOf() zwraca wartość typuint[] |
Każda metoda może zwrócić tylko jedną wartość i jeden predefiniowany typ. Zwracany typ jest określany podczas deklarowania metody:
public static тип Nazwa(параметры)
{
kod метода
}
Gdzie Nazwa
to nazwa metody, параметры
to lista parametrów metody i тип
typ wyniku zwracanego przez metodę.
W przypadku metod, które nic nie zwracają, istnieje specjalny typ kodu pośredniczącego - void
.
Czy piszesz własną metodę i nie chcesz zwracać niczego do metody wywołującej? Wystarczy zadeklarować typ metody void
i problem zostanie rozwiązany. Istnieje również wiele takich metod w Javie.
3. Zwrócenie wyniku
Właśnie wymyśliliśmy, jak zadeklarować metodę z wynikiem obliczenia / pracy, ale jak możemy zwrócić ten wynik z samej metody?
Aby to zrobić, ponownie potrzebujemy operatora return
. Przekazanie wyniku z metody wyglądałoby tak:
return oznaczający;
Gdzie return
jest instrukcja, która natychmiast zakończy działanie metody. A oznaczający
to wartość, którą metoda powinna w rezultacie zwrócić metodzie wywołującej. Typ значения
musi być zgodny z typem типом
określonym podczas deklarowania metody.
Przykład 1. Metoda oblicza minimum z dwóch liczb:
|
Metoda zwraca minimum dwie liczby. Jeśli a < b powrót a W przeciwnym razie powrót b |
Przykład 2. Metoda duplikuje przekazany do niej łańcuch n
razy:
|
Metoda przyjmuje dwa parametry - ciąg znaków oraz liczbę jego powtórzeń. Dla przyszłego wyniku tworzony jest pusty łańcuch. W cyklu times czasu do łańcucha result dodawana jest spacja i ciąg znaków str . Zmienna jest zwracana jako wynik metody result . |
Przykład 3: Metoda oblicza maksymalnie dwie liczby za pomocą operatora trójskładnikowego:
|
Metoda zwraca maksymalnie dwie liczby. powrót (jeżeli a > b , to a , inaczej b ) |