JavaRush /Курси /JAVA 25 SELF /Оголошення й виклик методів: параметри

Оголошення й виклик методів: параметри

JAVA 25 SELF
Рівень 8 , Лекція 2
Відкрита

1. Синтаксис оголошення методу

Оголошення методу в Java схоже на рецепт у кулінарній книзі: ви зазначаєте, який тип повертає метод, як він називається, які «інгредієнти» (параметри) потрібні та описуєте сам рецепт (тіло методу).

Загальна форма:


тип_поверненого_значення назваМетоду(параметри)
{
    // тут пишемо команди
}
Загальна форма оголошення методу
  • тип поверненого значення — що метод повертає (наприклад, int, void — якщо нічого не повертає, String тощо).
  • назваМетоду — назва, яку ви обираєте (за правилами Java).
  • параметри — список змінних, які метод використовуватиме (може бути порожнім).
  • тіло методу — ваші команди у фігурних дужках { }.

Приклади методів без параметрів

void printHello() 
{
    System.out.println("Привіт, світе!");
}

Пояснення: void — метод нічого не повертає; printHello — назва; () — параметрів немає.

Приклад методу з параметрами

void printName(String name) 
{
    System.out.println("Привіт, " + name + "!");
}

Пояснення: void — не повертає значення; printName — назва методу; String name — один параметр типу String.

Приклад методу з кількома параметрами

void printSum(int a, int b) 
{
    System.out.println("Сума: " + (a + b));
}

Пояснення: параметри вказуються через кому. Усередині методу ви використовуєте їх як звичайні змінні, оператор + виконує додавання.

Важливо!

  • Методи оголошуються усередині класу, але НЕ усередині інших методів.
  • У Java не можна оголошувати методи усередині інших методів — вкладені методи не допускаються.

2. Виклик методу

Оголосити метод — це як повісити табличку «Зроблю каву». А щоб кава справді зʼявилася, потрібно викликати метод — написати його назву та передати значення параметрів.

Як викликати метод

Якщо метод у тому самому класі й оголошений як static (як і main), ви можете викликати його просто за назвою:

printHello();
printName("Аліса");
printSum(3, 5);

Якщо метод не static, його треба викликати через об’єкт (про це пізніше, коли ви вивчатимете класи й об’єкти).

Приклад: виклик методу з main


public class MethodsDemo
{
    public static void main(String[] args) 
    {
        printHello();
        printName("Боб");
        printSum(10, 20);
    }

    static void printHello() 
    {
        System.out.println("Привіт, світе!");
    }

    static void printName(String name) 
    {
        System.out.println("Привіт, " + name + "!");
    }

    static void printSum(int a, int b) 
    {
        System.out.println("Сума: " + (a - b));
    }
}

Зверніть увагу: методи оголошено з модифікатором static, щоб їх можна було викликати з main (який теж static).

3. Параметри й аргументи: що це таке?

Параметри — це змінні, які оголошуються в дужках під час оголошення методу.
Аргументи — це реальні значення, які ви передаєте під час виклику методу.

Аналогія: параметри — як список покупок; аргументи — це те, що ви реально кладете в кошик.

Приклад


      static void greet(String name)  // name — параметр
{
    System.out.println("Привіт, " + name + "!");
}

public static void main(String[] args) 
{
    greet("Катя"); // "Катя" — аргумент
    greet("Василь"); // "Василь" — аргумент
}

Коли ви викликаєте greet("Катя"), усередині методу змінна name дорівнюватиме значенню "Катя".

Кілька параметрів


      static void printInfo(String name, int age)
{
    System.out.println("Імʼя: " + name + ", вік: " + age);
}

public static void main(String[] args) 
{
    printInfo("Маша", 25);
    printInfo("Петро", 31);
}

Увага! Типи й порядок параметрів мають збігатися з тим, як ви їх оголосили.

4. Практика: пишемо свої методи

Метод, який друкує привітання з іменем користувача


static void sayHelloTo(String name)
{
    System.out.println("Привіт, " + name + "!");
}

public static void main(String[] args)
{
    sayHelloTo("Андрій");
    sayHelloTo("Ельвіра");
}

Метод, який рахує суму двох чисел


static void printSum(int a, int b)
{
    int sum = a + b;
    System.out.println("Сума: " + sum);
}

public static void main(String[] args) 
{
    printSum(7, 8);
    printSum(15, -5);
}

Метод, який друкує елементи масиву


      static void printArray(int[] array)
{
    System.out.print("Масив: ");
    for (int i = 0; i < array.length; i++) 
    {
        System.out.print(array[i] + " ");
    }
    System.out.println();
}

public static void main(String[] args) 
{
    int[] nums = {1, 2, 3, 4, 5};
    printArray(nums);
}

Метод, який друкує n разів один і той самий рядок


      static void repeatPrint(String text, int n)
{
    for (int i = 0; i < n; i++) 
    {
        System.out.println(text);
    }
}

public static void main(String[] args) 
{
    repeatPrint("Java — це круто!", 3);
}

5. Як методи допомагають будувати застосунок

Якщо ви вирішите написати просту консольну гру або калькулятор, код стане зрозумілішим, якщо кожне завдання оформити як метод.

Приклад: мінікалькулятор


public class Calculator
{
    public static void main(String[] args) 
    {
        printGreeting();
        printSum(3, 7);
        printDifference(10, 4);
    }

    static void printGreeting() 
    {
        System.out.println("Ласкаво просимо до калькулятора!");
    }

    static void printSum(int a, int b) 
    {
        System.out.println("Сума: " + (a + b));
    }

    static void printDifference(int a, int b) 
    {
        System.out.println("Різниця: " + (a - b));
    }
}

Згодом ви зможете додавати нові методи (множення, ділення, робота з масивами чисел тощо), і застосунок зростатиме, не перетворюючись на довге «простирадло» коду.

6. Корисні нюанси

Назви методів

  • Назва методу зазвичай починається з малої літери й пишеться у стилі camelCase: printSum, sayHelloTo, calculateArea.
  • Назва має відображати дію. Уникайте doStuff і method1.

Порядок параметрів

  • Дотримуйтеся порядку й типів параметрів під час виклику.
  • Якщо метод приймає printInfo(String name, int age), не можна викликати printInfo(25, "Маша").

Чи можна оголосити два методи з однією назвою?

Так, якщо в них різний список параметрів (різні типи або кількість). Це перевантаження методів:

static void printSum(int a, int b) { /* ... */ }
static void printSum(int a, int b, int c) { /* ... */ }

Цій темі буде присвячена окрема лекція — наразі достатньо знати, що в Java може бути кілька методів із однаковою назвою.

7. Типові помилки під час роботи з методами та параметрами

Помилка № 1: Невідповідність кількості або типів параметрів під час виклику.
Якщо метод оголошено як printSum(int a, int b), а ви викликаєте його як printSum(5), компілятор повідомить, що такого методу не існує. Аналогічно, printSum("пʼять", 7) — помилка типів.

Помилка № 2: Плутанина між параметрами й аргументами.
В оголошенні методу пишуться параметри (наприклад, int a, int b), а під час виклику — аргументи (printSum(5, 7)). Не потрібно створювати у main змінні з тими самими іменами — важливіше збіг типів і порядку.

Помилка № 3: Намагаються оголосити метод усередині методу.
У Java методи оголошуються тільки на рівні класу. Усередині іншого методу оголошувати не можна.

Помилка № 4: Не використовують static під час виклику з main.
Якщо викликаєте метод із main, додайте static до оголошення або створіть об’єкт і викликайте метод на ньому. Подробиці — пізніше, коли ви вивчатимете ООП.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ