Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Metody Funkcja, a metoda Funkcją określamy pewien wydzielony fragment kodu, który może zostać wykonany z różnych miejsc programu. W paradygmacie programowania obiektowego funkcje są ściśle związane z klasami i nazywają się metodami. Przykładem metody jest println, wykorzystywana podczas wypisywania tekstu na ekran. Metoda składa się ze specyfikatora dostępu (public, private, protected, default), zwracanego typu danych (void, int, double,...), nazwy metody, zwracanej wartości (dla typu innego niż void) oraz parametrów w postaci: typparametru nazwaparametru 2 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Po co nam metody? 1 Pozwalają nam zwiększyć czytelność kodu. 2 Ograniczają powielanie się kodu (jego redundancję). 3 Ułatwiają utrzymanie aplikacji. 4 Zmniejszają prawdopodobieństwo wystąpienia błędów. 3 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład naszametoda (); // wywołanie metody public static void naszametoda () // typ void - nic nie zostanie zwrócone System. out. println (" Wywołano metodę "); 4 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład 2 int wynik = dodajliczby (2, 7); System. out. println ( wynik ); // 9 public static int dodajliczby ( int liczba1, int liczba2 ) return liczba1 + liczba2 ; 5 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład 3 int wynik = dodajliczby (2, 7); System. out. println ( wynik ); // 9 public static int dodajliczby ( int... liczby ) return liczby [0]+ liczby [1]; 6 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład 4 int wynik = dodajliczby (" tekst ", 2, 7); System. out. println ( wynik ); // 9 public static int dodajliczby ( String tekstdowypisania, int... liczby ) System. out. println ( tekstdowypisania ); // tekst return liczby [0]+ liczby [1]; 7 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Parametry, a argumenty int wynik = dodajliczby (2) ; // 2 to argument public static int dodajliczby ( int liczba ) // liczba to parametr return liczba ; 8 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Zadania 1 Napisz program konwertujący liczbę w systemie dziesiętnym na liczbę w systemie o podstawie 2, 4 oraz 8. Niech korzysta on z metody zawierającej uogólniony algorytm uzależniony od otrzymanego parametru (podstawy). 2 Napisz metodę weryfikującą czy wprowadzona przez użytkownika wartość jest typu int i jest mniejsza od 100. 3 Napisz metodę proszącą użytkownika o wpisanie liczby typu double do czasu, gdy nie wpisze on poprawnej wartości. Niech zwraca ona pobraną liczbę. 4 Napisz przelicznik złotówek na euro i dolary. Niech każda opcja będzie osobną metodą zwracającą obiekt klasy BigDecimal. 9 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przekazywanie parametrów Parametry w Javie są zawsze przekazywane przez wartość. 10 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład 1 int liczba = 5; zmienliczbe ( liczba ); System. out. println ( liczba ); // 5 public static void zmienliczbe ( int liczba ) liczba =10; 11 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład 2 int [] tab = 1; zmientablice ( tab ); System. out. println ( tab [0]) ; // 2 public static void zmientablice ( int [] tab ) tab [0] = 2; 12 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Przykład 3 int [] tab = 1; zmientablice ( tab ); System. out. println ( tab [0]) ; // 1 public static void zmientablice ( int [] tab ) tab = new int [1]; tab [0] = 2; 13 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Zadania 1 Napisz program zawierający metodę zwracającą tablicę o wymiarach podanych przez użytkownika (niech metoda przyjmuje tę wartość jako parametr) wypełnioną losowymi liczbami z przedziału od 0 do 15. 2 Przerób program z zadania 1 tak, aby referencja do tablicy była przekazywana jako parametr, a metoda cechowała się zwracanym typem void (przygotowana tablica ma być dostępna poza metodą). 14 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania
Dziękuję za uwagę 15 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki programowania