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 до оголошення або створіть об’єкт і викликайте метод на ньому. Подробиці — пізніше, коли ви вивчатимете ООП.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ