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 лекция
Недоступна
Проектирование различных форм и размеров объектов 📐
Проектирование различных форм и размеров объектов 📐
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
matematik200 Уровень 9
25 декабря 2025
все задачи решены( вставить одну строку вывести на экран - задание не для этой темы это плохо
15 ноября 2025
Такое ощущение, что задачи первого и второго урока поменяли местами.
Ksanders Уровень 32
2 октября 2025
На мой взгляд, задачи этой лекции максимально однообразные и скучные. Среднее число попыток пользователей на каждую задачу "1,2" говорит само за себя.