Languages
[Edit]
PL

Java - metody dla pocz─ůtkuj─ůcych - cz─Ö┼Ť─ç 2

4 points
Created by:
Bartek
1188

Cz─Ö┼Ť─ç pierwsz─ů mo┼╝na znale┼║─ç tutaj:┬áJava - metody dla pocz─ůtkuj─ůcych - cz─Ö┼Ť─ç 1

Ten post to kontynuacja wst─Öpu do metod w javie dla pocz─ůtkuj─ůcych.

Warto te┼╝ wspomnie─ç, ┼╝e metody powinno nazywa─ç si─Ö jako rzeczownik - czyli co robi. Przyk┼éady metod z javy to:┬áJava - methods naming convention, ideas and examples. Post jest w j─Özyku angielskim, ale ┼éatwo mo┼╝na sobie przet┼éumaczy─ç ca┼é─ů list─Ö, ale s─ů to s┼éowa do┼Ť─ç proste, wi─Öc my┼Ťl─Ö, ┼╝e nie powinno by─ç wi─Ökszego problemu.

Przykład

public class MetodaPrzyklad {

    public static void main(String[] args) {

        int ocenaJanusza = 5;
        int ocenaMariusza = 4;

        dodajOcenyUczniow(ocenaJanusza, ocenaMariusza);
    }

    static void dodajOcenyUczniow(int ocenaUcznia1, int ocenaUcznia2) {

        int sumaOcen = ocenaUcznia1 + ocenaUcznia2;

        System.out.println("Suma ocen uczni├│w: " + sumaOcen);
    }
}

Wynik:

Suma ocen uczni├│w: 9

W tym przyk┼éadzie przekazujemy do metody 2 argumenty, s─ů nimi 2 oceny uczni├│w Janusza i Mariusza. Metoda ma proste zadanie, czyli sumowanie obu ocen uczni├│w. Plus pozwoli┼éem sobie wypisa─ç sume ocen do konsoli.

Przykład

public class MetodaPrzyklad {

    public static void main(String[] args) {

        int ocenaJanusza = 5;
        int ocenaMariusza = 4;
        dodajOcenyUczniow(ocenaJanusza, ocenaMariusza);

        int ocenaMalgosi = 5;
        int ocenaJasia = 5;
        dodajOcenyUczniow(ocenaMalgosi, ocenaJasia);
    }

    static void dodajOcenyUczniow(int ocenaUcznia1, int ocenaUcznia2) {

        int sumaOcen = ocenaUcznia1 + ocenaUcznia2;

        System.out.println("Suma ocen uczni├│w: " + sumaOcen);
    }
}

Wynik:

Suma ocen uczni├│w: 9
Suma ocen uczni├│w: 10

Ten przyk┼éad pokazuje nam, ┼╝e metod─Ö mo┼╝emy u┼╝y─ç wi─Öcej ni┼╝ 1 raz. I nie musimy duplikowa─ç logiki dodawania. To tylko bardzo prosty przyk┼éad obrazuj─ůcy jak fajne i por─Öczne mog─ů by─ç metody.

Przykład

public class MetodaPrzyklad {

    public static void main(String[] args) {

        int ocenaJanusza = 5;
        int ocenaMariusza = 4;
        int sumaOcen1 = ocenaJanusza + ocenaMariusza;

        System.out.println("Suma ocen uczni├│w: " + sumaOcen1);

        int ocenaMalgosi = 5;
        int ocenaJasia = 5;
        int sumaOcen2 = ocenaMalgosi + ocenaJasia;

        System.out.println("Suma ocen uczni├│w: " + sumaOcen2);
    }
}

Output:

Suma ocen uczni├│w: 9
Suma ocen uczni├│w: 10

Ten sam przyk┼éad, tylko bez metody. Wykonamy oba obliczenia bez u┼╝ycia metod. Teraz wyobra┼║ sobie, ┼╝e wczytujemy te oceny z pliku i jest ich 200 par. Dostajemy zadanie zmodyfikowania operacji, zamiast sumy ocen, manager prosi nas o pomno┼╝enie obu ocen i wypisania wyniku do konsoli. Czyli musimy zmieni─ç operacj─Ö┬ádodawania na operacje mno┼╝enia. Dodatkowo zmieni─ç musimy "Suma ocen uczni├│w" na "Wynik mno┼╝enia ocen uczni├│w". Je┼Ťli korzystamy z metody to zmieniamy w jednym miejscu w kodzie "Suma" na "Wynik mno┼╝enia" i tak┼╝e w 1 miejscu┬áw kodzie:

int sumaOcen = ocenaUcznia1 + ocenaUcznia2;

na

int wynikMnozeniaOcen = ocenaUcznia1 * ocenaUcznia2;

A je┼Ťli nie korzystamy z metod, tylko robimy to na piechot─Ö to mamy aktualnie 200 zduplikowanych operacji, kt├│re musimy r─Öcznie modyfikowa─ç :). Czy widzisz ju┼╝ potencja┼é jaki kryje w sobie u┼╝ywanie metod?

Oczywi┼Ťcie kto┼Ť sprytnie mo┼╝e powiedzie─ç "mog─Ö u┼╝y─ç globalnego replace w Intellij IDEA lub notepad++, aby zamieni─ç wszystkie Stringi i operacje dodawania na mno┼╝enie." - tak mo┼╝esz, ale to jest rozwi─ůzywanie problemu na oko┼éo :D, serio. Program b─Ödzie bardzo czytelny, re-u┼╝ywalny, gdy b─Ödziemy u┼╝ywa─ç┬ádobrze nazwanych metod, kt├│re┬árealizuj─ů swoje┬ázadanie. Dodatkowym atutem metod jest to, ┼╝e mo┼╝na je testowa─ç (unit testy), pod warunkiem, ┼╝e s─ů┬ádobrze napisane. Do tej kwestii, wr├│cimy za jaki┼Ť czas.

Przykład

public class MetodaPrzyklad {

    public static void main(String[] args) {
        
        dodajOcenyUczniow(5, 4); // ocenaJanusza = 5, ocenaMariusza = 4
        
        dodajOcenyUczniow(5, 5); // ocenaMalgosi = 5, ocenaJasia = 5
    }

    static void dodajOcenyUczniow(int ocenaUcznia1, int ocenaUcznia2) {

        int sumaOcen = ocenaUcznia1 + ocenaUcznia2;

        System.out.println("Suma ocen uczni├│w: " + sumaOcen);
    }
}

Wynik:

Suma ocen uczni├│w: 9
Suma ocen uczni├│w: 10

W tym przyk┼éadzie nie tworzymy sobie zmiennych┬áz imionami uczni├│w, tylko przekazujemy je odrazu do metody. Tutaj ju┼╝ wida─ç jak bardzo kod nam si─Ö upro┼Ťci┼é, oczywi┼Ťcie to kwestia gustu i jak lepiej Ci si─Ö pisze┬ái czyta kod. Na pocz─ůtku lepiej chyba wybra─ç sobie ┼Ťci─Özk─Ö z nazywaniem bardzo dok┼éadnie wszystkich zmiennych, dlatego, ┼╝e idzie si─Ö du┼╝o szybciej odnazle┼║─ç w swoim kodzie. Mniej b┼é─Öd├│w b─Ödzie si─Ö┬ápope┼énia─ç.

 

Java dla pocz─ůtkuj─ůcych

Hey ­čĹő
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.