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 к объявлению или создайте объект и вызывайте метод у него. Подробности — позже, при изучении ООП.

1
Задача
JAVA 25 SELF, 8 уровень, 2 лекция
Недоступна
Личное приветствие для нового пользователя 👋
Личное приветствие для нового пользователя 👋
1
Задача
JAVA 25 SELF, 8 уровень, 2 лекция
Недоступна
Быстрый подсчет стоимости покупки 💰
Быстрый подсчет стоимости покупки 💰
1
Задача
JAVA 25 SELF, 8 уровень, 2 лекция
Недоступна
Создание карточки сотрудника для отдела кадров 👩‍💻
Создание карточки сотрудника для отдела кадров 👩‍💻
1
Задача
JAVA 25 SELF, 8 уровень, 2 лекция
Недоступна
Проектирование различных форм и размеров объектов 📐
Проектирование различных форм и размеров объектов 📐
Комментарии (13)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Eq Vert Уровень 14
1 июля 2026
Чему вы научились после курсов? писать System.out.println 😀😀😀
nightmarakesh Уровень 16
23 июня 2026
реально калич задачи, лучше бы калькулятор дали
Anonymous #6483349 Уровень 29
9 апреля 2026
Не нравятся задачи по этой теме, вся их суть написать System.out.println и передать туда нужные параметры, хочется разобраться на практике не только с параметрами метода и аргументами. Задания не по теме ((
Kazbekov Andrew Уровень 33
27 марта 2026
Материал хороший, но вот задачи просто до невозможности легкие. Если уж тема про методы, то дайте эти методы в задаче написать самому, а не вписывать sout в каждое тело метода
Михаил Уровень 32
31 марта 2026
Согласен, задачи больше про println, нежели про методы)
Anonymous #3628287 Уровень 43
8 марта 2026
Будет очень приятно, если добавите еще одну-две задачи на каждую такую статью, чтобы можно было довести навыки до автоматизма.
Anonymous #3628287 Уровень 43
8 марта 2026
Пожалуйста, пишите статьи чуть-чуть покороче, сложно воспринимать длинную статью, когда речь идет о техническом материале. И спасибо за великолепный материал!!!
26 января 2026
В целом, если удалить весь код и писать всё самому, даже интересно. Только пока попадёшь под условия задачи потеряешь попытки, но за то поймешь как это делать.
Константин Уровень 12
19 января 2026
"Я шел сюда на перестрелку, как в вестерне"...
28 мая 2026
Это не задачи, а какие-то скалки из программы "Весёлый пекарь"
matematik200 Уровень 3
25 декабря 2025
все задачи решены( вставить одну строку вывести на экран - задание не для этой темы это плохо
15 ноября 2025
Такое ощущение, что задачи первого и второго урока поменяли местами.