KODO STRUKTŪRA

Java metodai

Metodas yra pavadintas kodo blokas, kuris vykdomas tik tada, kai yra iškviečiamas. Metodai suskaido programą į aiškias dalis ir leidžia tą patį kodą panaudoti daug kartų.

Kam reikalingi metodai?

Metodai dar vadinami funkcijomis. Jie padeda:

  • vieną kartą aprašytą veiksmą naudoti keliose programos vietose;
  • išvengti pasikartojančio kodo;
  • didelę užduotį suskaidyti į mažesnius veiksmus;
  • parinkti veiksmui aiškų pavadinimą;
  • lengviau testuoti ir keisti programą.

Java turi paruoštų metodų, pavyzdžiui, System.out.println(), tačiau galima kurti ir savo metodus.

Metodo sukūrimas

Metodas deklaruojamas klasės viduje. Po metodo pavadinimo rašomi skliaustai (), o jo kodas pateikiamas tarp riestinių skliaustų:

public class Main {
    static void ruostiPusrycius() {
        // Čia rašomas vykdomas kodas
    }
}
Konsolės rezultato nėra.

Šiame pavyzdyje metodą tik sukūrėme, bet jo neiškvietėme. Be to, jo viduje kol kas nėra println().

  1. Metodas įrašytas klasės Main viduje, bet ne kito metodo viduje.
  2. static šiame pavyzdyje leidžia metodą iškviesti tiesiogiai iš main(), nekuriant objekto.
  3. void reiškia, kad metodas atlieka veiksmą, bet negrąžina rezultato kaip reikšmės.
  4. ruostiPusrycius yra aiškus metodo pavadinimas, nusakantis būsimą veiksmą.
  5. Tušti skliaustai () reiškia, kad metodui kol kas nereikia perduoti jokių duomenų.
Metodo deklaracijos dalys
DalisReikšmė
staticMetodas priklauso klasei, todėl šiame pavyzdyje jį galima kviesti nesukūrus objekto
voidMetodas negrąžina jokios reikšmės
ruostiPusryciusMetodo pavadinimas, nusakantis jo atliekamą veiksmą
()Parametrų vieta; šiame metode parametrų nėra

Metodo iškvietimas

Vien deklaruoti metodą neužtenka – kad jo kodas būtų vykdomas, metodą reikia iškviesti. Rašomas jo pavadinimas, skliaustai ir kabliataškis:

public class Main {
    static void pasisveikinti() {
        System.out.println("Labas, Ona!");
    }

    public static void main(String[] args) {
        pasisveikinti();
    }
}
Konsolės rezultatas

Labas, Ona!

  1. Java programą pradeda vykdyti metode main().
  2. Ji pasiekia eilutę pasisveikinti();. Tai yra mūsų sukurto metodo iškvietimas.
  3. Java trumpam pereina į metodo pasisveikinti() vidų.
  4. Ten įvykdomas println(), todėl konsolėje pasirodo Labas, Ona!.
  5. Metodui pasibaigus, Java grįžta į main() ten, kur buvo sustojusi.

Metodo vykdymo eiliškumas

public class Main {
    static void plautiRankas() {
        System.out.println("Plauname rankas");
    }

    public static void main(String[] args) {
        System.out.println("Grįžome namo");
        plautiRankas();
        System.out.println("Galime sėsti prie stalo");
    }
}
Konsolės rezultatas

Grįžome namo
Plauname rankas
Galime sėsti prie stalo

  1. main() pirmiausia parodo tekstą Grįžome namo.
  2. Tada iškviečiamas metodas plautiRankas().
  3. Java pereina į šį metodą ir parodo Plauname rankas.
  4. Metodui pasibaigus, programa grįžta į kitą main() eilutę.
  5. Galiausiai konsolėje pasirodo Galime sėsti prie stalo. Taigi metodas vykdomas būtent jo iškvietimo vietoje.

Pakartotinis metodo naudojimas

Tą patį metodą galima iškviesti tiek kartų, kiek reikia, nekopijuojant jo viduje esančio kodo:

public class Main {
    static void primintiAtsigerti() {
        System.out.println("Laikas atsigerti vandens");
    }

    public static void main(String[] args) {
        primintiAtsigerti();
        primintiAtsigerti();
        primintiAtsigerti();
    }
}
Konsolės rezultatas

Laikas atsigerti vandens
Laikas atsigerti vandens
Laikas atsigerti vandens

  1. Metodo primintiAtsigerti() viduje tekstas parašytas tik vieną kartą.
  2. Metode main() tą patį metodą iškviečiame tris kartus.
  3. Kiekvienas iškvietimas iš naujo įvykdo visą metodo viduje esantį kodą.
  4. Todėl tas pats priminimas konsolėje pasirodo tris kartus.
  5. Jei norėtume pakeisti priminimo tekstą, pakaktų pataisyti tik vieną eilutę metodo viduje.

Metodo pavadinimas

Metodo pavadinimas paprastai pradedamas mažąja raide ir rašomas camelCase forma. Kadangi metodas aprašo veiksmą, naudinga pradėti veiksmažodžiu, pavyzdžiui, ruostiPusrycius(), skaiciuotiKaina() arba rodytiPranesima().

Parametrai ir grąžinamosios reikšmės

Metodui galima perduoti duomenis per parametrus. Vietoje void taip pat galima nurodyti grąžinamosios reikšmės tipą ir rezultatą grąžinti su return.