[PL] Wstęp do programowania w Javie dla kompletnych laików #4 - nasza pierwsza metoda w programie

in #polish7 years ago (edited)

Hej, 

nareszcie dotarliśmy do kodu i możemy porobić coś bardziej sensownego oprócz wyświetlania tekstu.  Jako, że informatyka opiera się mocno na matematyce i logice, to poznamy parę podstawowych informacji.

Poprzedni post z tej serii znajduje się tutaj, więc jeżeli nie widziałeś go, to zapraszam: https://steemit.com/polish/@grzegorz2047/pl-wstep-do-programowania-w-javie-dla-kompletnych-laikow-3-nasz-pierwszy-program

Poznamy trochę rzeczy na podstawie paru metod stworzonych przez nas. 

Jeżeli chodzi o różne operacje matematyczne, to możemy dodawać, odejmować, dzielić i mnożyć liczby tak bezpośrednio albo używając liczb trzymanych w kontenerach (zmiennych).

Tutaj zobaczcie przykład z dodawaniem dwóch liczb i zapisaniem ich do zmiennej oraz wykonanie operacji używając informacji zawartych w naszych zmiennych. Trzymajcie się tej intuicji, że zmienna to miejsce, gdzie wartość może się zmieniać pod wpływem działania różnych instrukcji.

Tu jest przykład, który został opisany powyżej:

Jak widzimy nasza metoda nazywa się dodajWartości, jest ona prywatna i zwraca typ zmiennej int.

Co to znaczy, że jest prywatna zmienna? Zmienna może być publiczna (public), chroniona(protected) i prywatna(private). Jeżeli metoda jest publiczna, to każdy może wykorzystać metodę obiektu reprezentującego daną klasę. Jeżeli metoda jest chroniona, to z tej metody mogą korzystać jedynie "dzieci" klasy, które odziedziczyły pewne funkcjonalności. No i jest też metoda prywatna, czyli taka, która może być wykorzystywana tylko w środku klasy, w której została stworzona. Inaczej mówiąc nikt nie może użyć metody oprócz obiektu, dla którego została ona zapisana.

Jeżeli chodzi o int, to jest to typ zmiennej, która ta metoda ma na końcu swojego działania zwrócić. W naszym przykładzie mamy zmienną o nazwie suma i do tej zmiennej wrzucamy wynik działania 1 + 2, czyli 3. Potem wykonywana jest instrukcja wrzucenia piątki do naszego kontenera o nazwie magicznaLiczba. Jak widzicie przed każdym stworzeniem zmiennej mamy typ zmiennej np. int, float, boolean, String lub typ Obiektu reprezentujący pewną klasę. W ostatniej linijce metody mamy coś takiego jak return suma + magicznaLiczba

Co to generalnie znaczy? Nasza metoda na końcu działania zwraca w nowym kontenerze wynik dodawania zawartości zmiennej suma i zawartości zmiennej magicznaLiczba. Czyli powinna zwrócić 8. Z kodu możecie też zauważyć, że odwołanie się do naszego kontenera występuje już bez jej typu, tylko poprzez samą nazwę. Zasada jest taka, najpierw tworzymy zmienną, potem przydzielamy jej pewną wartość, a na końcu przekazujemy te wartości do innych instrukcji.

A pytanie teraz czemu na ekranie nazwa zmiennej jest taka na szaro? To znaczy, że nasza metoda nie jest nigdzie wykorzystywana. To jak to wykorzystać? 

Już pokazuję:

Kurde, a co się stało z tą metodą dodajWartosci? Czemu pojawił się tam static?

Odpowiedź jest prosta, jeżeli nie mamy obiektu i chcemy użyć jakieś metody w metodzie statycznej(static), to użyta metoda też musi być statyczna, bo inaczej nasze środowisko będzie protestować. Bo pamiętajmy, że metody możemy użyć poprzez obiekty, a jak obiektów nie ma na starcie, to nie ma jak odwołać się do metody.

Jak widzicie, tam mamy coś takiego :

int wartoscOtrzymanaZMetodyDodajWartosci = dodajWartosci();

To znaczy tyle, że stworzyliśmy kontener o nazwie wartoscOtrzymanaZMetodyDodajWartosci  oraz że wzieliśmy zwróconą liczbę od metody dodajWartości i wrzuciliśmy liczbę do kontenera (zmiennej) wartoscOtrzymanaZMetodyDodajWartosci. Takie wrzucanie danych do zmiennej nazywamy przypisanie danych do zmiennej. Natomiast tworzenie nowego kontenera nazywamy deklaracja zmiennej.

Możemy także zauważyć, że każda metoda posiada takie coś { } Są to curly brackets, czyli takie nawiasy, w których wpisuje się różne instrukcje. Takie same nawiasy stosuje się dla całej klasy, gdzie po zdefiniowaniu klasy rozpoczynamy klasę { i kończymy ją }.

Najczęście metodę budujemy tak:

private int nazwaMetody(int a) {

}

Czyli mówimy jaka ma być widoczność klasy, potem możemy powiedzieć czy ma być statyczna czy nie, potem mówimy jaki typ ma zwracać,  potem mamy nazwę metody, mogą występować takie pewne parametry "startowe", o których mówiłem przy omawianiu głównej metody main. No i muszą być też te nawiasy {}

Pokażę wam jeszcze jak zrobić właśnie metodę z parametrami startowymi:

Jak widać, można do metody przekazywać liczby bezpośrednio, albo można też używać nazwy zmiennych przechowujące jakieś liczby. Jak uruchomicie magicznym zielonym trójkątem program, to zobaczycie, że wynik jest taki sam. To tylko świadczy o tym, że rozwiązań pewnych problemów jest bardzo dużo. Jedynie co nas blokuje na poznanie innych rozwiązań, to nasza wiedza.

Jeszcze co możecie zauważyć, to przy drugim użyciu metody println jest coś takiego jako argument:

"Wynik drugiej metody to: " + wynikDrugiejMetody 

To jest połączenie napisu "Wynik drugiej metody to: "  z liczbą zapisaną w kontenerze  wynikDrugiejMetody

Nasze środowisko(IDE) potraktuje to jako tekst, ponieważ wie, że to są napisy i liczby. IDE potrafi to zrobić automatycznie bez naszej dodatkowej pomocy. Także pamiętajcie, jeżeli chcecie łączyć napisy, to użyjcie +. Profesjonalna nazwa tej operacji, to konkatenacja, ale wam wystarczy określenie "łączenie stringów", czyli łączenia napisów.

To by było na tyle w tym poście. W następnym poście postaramy się stworzyć dodatkową klasę i wykonać jakieś dodatkowe operacje.

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.028
BTC 63615.94
ETH 2475.04
USDT 1.00
SBD 2.54