Languages
[Edit]
PL

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

8 points
Created by:
Bartek
1167

Dzi┼Ť chcia┼ébym wam pokaza─ç co to jest metoda w javie i jak zacz─ů─ç ich praktycznie u┼╝ywa─ç.

Na 100% je┼Ťli jeste┼Ť pocz─ůtkuj─ůcym programist─ů┬ámasz takie pytania jak:

  • Co to jest metoda?
  • Po co s─ů w og├│le metody w programowaniu?
  • Jaki jest najprostszy przyk┼éad metody w javie dla pocz─ůtkuj─ůcego programisty?
  • Jak zapami─Öta─ç jak pisa─ç metody?
  • Jak decydowa─ç kiedy musz─Ö napisa─ç sobie metod─Ö?
  • Z jakich cz─Ö┼Ťci sk┼éada si─Ö metoda w javie i dlaczego?
  • Kiedy zwracamy jaki┼Ť typ, a kiedy jaki┼Ť typ przyjmujemy?
  • Co to jest private, static, void i po nam to potrzebne?
  • Czemu pierwsze jest main i wywo┼éanie mojej metody, a dopiero p├│┼║niej moja metoda?

Je┼Ťli masz takie pytania to wszystko jest ok. Osobi┼Ťcie jestem fanem nauki na praktycznych przyk┼éadach, nie do ko┼äca lubi─Ö teorie. Dlatego je┼Ťli jeste┼Ť pocz─ůtkuj─ůcym programis─ů,┬áchcia┼ébym Ci─Ö przekona─ç, aby┼Ť mi zaufa┼é i zacz─ů┼é robi─ç przyk┼éady, a te pytania powy┼╝ej wyja┼Ťni─ů si─Ö same, bez czytania tony teori i ca┼éych rozdzia┼é├│w w ksi─ů┼╝kach, obiecuj─Ö. To zaczynamy z przyk┼éadami.┬á🙂

Link do cz─Ö┼Ťci drugiej:┬áJava - metody dla pocz─ůtkuj─ůcych - cz─Ö┼Ť─ç 2

Przykład

public class MetodaPrzyklad1 {

    public static void main(String[] args) {

        System.out.println("Hejka");
    }
}

Wynik:

Hejka

W tym przyk┼éadzie nie widzimy ┼╝adnych metod. Dlatego, ┼╝e chcia┼éem pokaza─ç jak przenie┼Ť─ç, t─ů podstawow─ů operacj─Ö jak wypisywanie "Hejka" do konosli, do osobnej metody.

public class MetodaPrzyklad2 {

    public static void main(String[] args) {

        wypiszHejka();
    }

    static void wypiszHejka() {
        System.out.println("Hejka");
    }
}

Wynik:

Hejka

W tym przyk┼éadzie widzimy, ┼╝e mamy now─ů metod─Ö o nazwie wypiszHejka(). Te 2 programy nie r├│┼╝ni─ů si─Ö niczym pod wzgl─Ödem funkcjonalnym, czyli dzia┼éaj─ů tak samo -┬áwypisuj─ů "Hejka" do konsoli. I teraz po co to w og├│le robi─ç skoro nie ma r├│┼╝nicy w tym co program robi? Metodki s─ů po to, aby projektowa─ç nasz─ů aplikacj─Ö tak aby kod, by┼é re-u┼╝ywalny i aby programista nie gubi┼é si─Ö w swoim kodzie :). Serio, serio to mo┼╝liwe.

Analiza naszej metodki - wypiszHejka()

// wywo┼éanie metody, czyli zawo┼éanie tego co zakodzili┼Ťmy
wypiszHejka();

// definicja metody, czyli po prostu zakodzenie kawałka kodu i nazwanie go wypiszHejka()
// aby┼Ťmy p├│┼║niej mogli ten kawa┼éek kodu zawo┼éa─ç z main-a
static void wypiszHejka() {
    System.out.println("Hejka");
}

Z czego składa się metoda:

static      // na pocz─ůtku nie analizujmy tego co to static
void        // tutaj dajemy typ kt├│ry b─Ödziemy zwraca─ç, wyja┼Ťnienie ni┼╝ej
wypiszHejka // nazwa naszej metody to wypiszHejka
()          // te nawiasy na razie potraktuj jako co┼Ť obowi─ůzkowego
{           // otwieramy ciało naszej metody
    // ciało naszej metody, czyli kodzimy
    System.out.println("Hejka");
}           // zamykamy ciało naszej metody

Nie wchod┼║my na pocz─ůtku w szczeg├│┼éy co i jak z metodami, aby nie analizowa─ç tego zbyt szczeg├│┼éowo. Idzie si─Ö naprawd─Ö zniech─Öci─ç, m├│wi─Ö tutaj o pocz─ůtkuj─ůcych programistach. Po prostu zacznijmy kodzi─ç w metodach, a gwarantuj─Ö, ┼╝e po kilku dniach, metody nabior─ů super sensu. Najlepiej proste rzeczy, wypisywanie czego┼Ť w konsoli tak jak by┼éo z "Hello World", dodawanie liczb i zwracanie wyniku, obliczanie ┼Ťredniej itp.

Metoda powinna się nazywać, tak aby nam mówiła co robi. Prosty przykład metody to next() wywyłany na obiekcie typu Scanner np scanner.nextInt() i jak wiemy nextInt() zwraca nam int-a, prawda?
Co do obiekt├│w to te┼╝ na razie przyjmijmy to┬ájako pewnik i reszta nabierze sensu lekko p├│┼║niej. Na obecn─ů chwil─Ö skupmy si─Ö przez kilka dni na metodach i programowaniu z u┼╝yciem metod.

Aaa i jeszcze jedno, na dzie┼ä dzisiejszy jeste┼Ť pocz─ůtkuj─ůcym programist─ů i je┼Ťli piszesz wszystko w 1 klasie tak jak ja w przyk┼éadach nie musisz dodawa─ç private / public, do tego dojdziemy p├│┼║niej i to ju┼╝ b─Ödzie bardzo ┼éatwe. Pisz─Ö┬áto dlatego, aby maksymalnie upro┼Ťci─ç nauk─Ö programowania i aby nie komplikowa─ç tego niepotrzebnie.┬á🙂

Przykład

public class MetodaPrzyklad3 {

    public static void main(String[] args) {

        wypiszCosWiecejNizHejka();
    }

    static void wypiszCosWiecejNizHejka() {

        System.out.println("Hejka");

        for (int i = 0; i < 3; i++) {
            System.out.println(i);
        }
    }
}

Wynik:

Hejka
0
1
2

W tym przyk┼éadzie dodali┼Ťmy p─Ötle for i wypisanie liczb 0,1,2. W ten spos├│b mo┼╝emy tworzy─ç kod w metodzie. Doda┼éem co┼Ť poza "Hejka", aby pokaza─ç, ┼╝e pisanie w naszej nowej metodzie niczym nie r├│┼╝ni si─Ö od pisania kodu w metodzie main, tak jak przyzwyczaili┼Ťmy si─Ö do tej pory. Od dzi┼Ť piszemy zawsze kod w metodach i wywo┼éujemy nasze nowe metody z main-a. Ok? Tak jak pisa┼éem wcze┼Ťniej, zauwaj mi, a po kilku dniach zobaczysz prawdziwe korzy┼Ťci z pisania w metodach. Poza tym prawdziwi programi┼Ťci nie umiej─ů pisa─ç bez metod na tym opiera si─Ö programowanie, aby tworzy─ç kod, kt├│ry jest bardzo czytelny i metody powinny by─ç w miar─Ö ma┼ée. Np metoda, kt├│ra ma 100 lini kodu, jest na 99% zbyt d┼éuga i da si─Ö jej logik─Ö rozbi─ç na mniejsze metody. Metoda te┼╝ powinna mie─ç dobr─ů nazw─Ö, aby m├│wi┼éa ka┼╝demu┬áprogrami┼Ťcie co si─Ö w niej dzieje -┬ádlatego te┼╝ powinna by─ç kr├│tka i mie─ç jedn─ů odpowiedzialno┼Ť─ç, wtedy bardzo ┼éatwo nam b─Ödzie da─ç tej metodzie prost─ů nazw─Ö.

Przykład

public class MetodaPrzyklad4 {

    public static void main(String[] args) {

        int mojaUlubionaLiczba = 7;
        wypiszMojaUlubionaLiczbe(mojaUlubionaLiczba);
    }

    static void wypiszMojaUlubionaLiczbe(int mojaUlubionaLiczba) {

        System.out.println("Twoja ulubiona liczba to: " + mojaUlubionaLiczba);
    }
}

Wynik:

Twoja ulubiona liczba to: 7

W tym przykładzie zaczyna się dziać nieco więcej. Po raz pierwszy przyjmujemy parametr typu int o nazwie mojaUlubionaLiczba. Parametry do metody przekazujemy pomiędzy (), czyli

(int mojaUlubionaLiczba)

a we wcze┼Ťniejszych przyk┼éadach nie przekazywali┼Ťmy nic do metody, dlatego nasze nazwiasy by┼éy puste:

()

I teraz w metodzie mo┼╝emy korzysta─ç z naszej zmiennej, kt├│r─ů sobie przjeli┼Ťmy. Mo┼╝emy j─ů wypisa─ç, tak jak to zrobili┼Ťmy w naszym przyk┼éadzie.

Przykład

public class MetodaPrzyklad5 {

    public static void main(String[] args) {

        int wiekUzytkownika = 25;
        String imieUzytkownika = "Gertrud";

        wypiszDaneUzytkownika(wiekUzytkownika, imieUzytkownika);
    }

    static void wypiszDaneUzytkownika(int wiekUzytkownika, String imieUzytkownika) {

        System.out.println("Wiek u┼╝ytkownika to: " + wiekUzytkownika);
        System.out.println("Imie u┼╝ytkownika to: " + imieUzytkownika);
    }
}

Wynik:

Wiek u┼╝ytkownika to: 25
Imie u┼╝ytkownika to: Gertrud

W tym przyk┼éadzie przekazujemy 2 argumenty┬ádo metody. Ten przyk┼éad jest bardzo podobny do porzedniego, tylko zamiast 1 parametru, nasza metoda przyjmuje 2 parametry. Wcze┼Ťniej by┼é to tylko int, teraz jest to int i String.

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.