Параметры и аргументы метода

Тренажер по Java для пользователей с начальным уровнем подготовки.

Тренажер по Java

Параметры и аргументы — базовая часть работы с методами в Java. Параметры задаются в объявлении метода и описывают, какие данные он принимает, а аргументы передаются при вызове. Это нужно, чтобы писать переиспользуемые блоки логики: один метод — много вызовов с разными значениями. В тренажере Java онлайн вы потренируетесь подбирать сигнатуры, вызывать методы и читать код. Пример: int sum(int a, int b) и вызов sum(2, 3). Будут задания, тесты и визуализация как работает код.

  • Синтаксис: тип имя(тип p1, тип p2)
  • Аргументы должны совпадать по количеству и совместимым типам
  • Для примитивов передается значение, для объектов — ссылка
Список тем

1. Параметры в сигнатуре метода

id: 40469_m6_params_01_replace_signature

В этом задании вам необходимо дополнить сигнатуру метода, заполнив пропущенные элементы. Метод `calculateRectangleArea` предназначен для вычисления площади прямоугольника. Обратите внимание на использование параметров в теле метода: первый параметр умножается на второй. Заполните пропуски так, чтобы метод принимал два числовых параметра, корректно компилировался и возвращал площадь прямоугольника.

Заполните пропуски
public class GeometryCalculator {
    // Метод вычисляет площадь прямоугольника
    public static double calculateRectangleArea(input1S input2S, input3S input4S) {
        // Первый параметр - длина, второй - ширина
        return length * width;
    }
    
    public static void main(String[] args) {
        // Пример вызова метода с аргументами 5.0 и 3.0
        double area = calculateRectangleArea(5.0, 3.0);
        System.out.println("Площадь: " + area);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Аргументы при вызове

id: 40469_m6_params_02_replace_call_args

Дополните фрагмент кода, заполнив пропуски в вызове метода `printInfo`. Метод уже объявлен и принимает два параметра: строку (имя) и целое число (возраст). В методе `main` объявлены переменные `personName` и `personAge`. Используйте эти переменные в качестве аргументов при вызове метода, соблюдая правильный порядок и синтаксис Java. Результатом работы программы должен быть вывод строки "Alice - 25".

Заполните пропуски
public class Main {
    public static void printInfo(String name, int age) {
        System.out.println(name + " - " + age);
    }
    
    public static void main(String[] args) {
        String personName = "Alice";
        int personAge = 25;
        printInfo(input1S, input2S)input3S
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

3. Подбор типов параметров

id: 40469_m6_params_03_select_fill_match_types

В данном задании представлен фрагмент кода на Java, в котором объявление метода calculateArea содержит пропуски. Ваша задача — выбрать из выпадающих списков подходящие типы для возвращаемого значения и для параметров метода. Обратите внимание на типы литералов, используемых при вызове метода, и операцию в теле метода. Это поможет восстановить корректную сигнатуру метода, чтобы код компилировался и выполнялся правильно. Код должен вычислять площадь прямоугольника по ширине и высоте.

Нужно правильно расставить в пропуски предложенные варианты
public class Main {
    public static void main(String[] args) {
        double area = calculateArea(5.0, 3.0);
        System.out.println("Area: " + area);
    }

    public static input1S calculateArea(input2S width, input3S height) {
        return width * height;
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Исправьте ошибку в передаче аргументов

id: 40469_m6_params_04_error_wrong_order_or_count

В приведённом фрагменте Java-кода метод объявлен корректно, но в его вызове допущена ошибка, связанная с передачей аргументов. Метод ожидает получить определённые параметры в строгом порядке, однако при вызове этот порядок нарушен, что приведёт к ошибке компиляции. Найдите строку с вызовом метода и исправьте передачу аргументов, чтобы код стал рабочим и вывел ожидаемый результат.

Найдите ошибку и исправьте
public class Main {
    public static void printUserInfo(String name, int age) {
        System.out.println("Name: " + name + ", Age: " + age);
    }
 
    public static void main(String[] args) {
        String userName = "Анна";
        int userAge = 25;
        // Ошибочный вызов метода
        printUserInfo(userAge, userName);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

5. Соберите: метод + вызов

id: 40469_m6_params_05_build_from_parts_method_and_call

Из предложенных строк соберите корректную Java-программу, которая объявляет класс Main с методом printSum, принимающим два целых параметра, и вызывает этот метод из main для вывода суммы чисел 5 и 10. Одна из строк лишняя — вызов метода с неверным числом аргументов — и не должна входить в решение. Порядок объявления методов внутри класса (main и printSum) может быть любым, но каждый метод должен быть правильно оформлен.

Перетяните в правильном порядке строки из одного блока в другой
public class Main {
    public static void main(String[] args) {
        printSum(5, 10);
    }
    public static void printSum(int a, int b) {
        System.out.println(a + b);
    }
}
        printSum(5);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Что выведет код с параметрами?

id: 40469_m6_params_06_predict_result_simple

Проанализируйте представленный код на Java. В нём определён метод, который принимает два параметра и выполняет с ними арифметическую операцию. Определите, что будет выведено в консоль в результате выполнения программы. Выберите один правильный вариант из предложенных.

Выберите правильный вариант ответа
public class Main {
    public static void multiplyAndPrint(int a, int b) {
        int result = a * b;
        System.out.println("Результат: " + result);
    }

    public static void main(String[] args) {
        int x = 5;
        int y = 3;
        multiplyAndPrint(x, y);
    }
}
Сообщения
Проверить
Показать подсказку

7. Отметьте все аргументы метода

id: 40469_m6_params_07_click_target_arguments

Внимательно изучите приведённый фрагмент кода на Java. В нём присутствует несколько вызовов методов. Ваша задача — кликнуть по всем элементам, которые являются аргументами, передаваемыми в эти методы. Аргументы — это конкретные значения (переменные, литералы, выражения), которые подставляются в вызов метода и находятся внутри круглых скобок после его имени. Не отмечайте имена самих методов, операторы, скобки, точки с запятой, а также параметры в объявлениях методов (например, `int x` в сигнатуре).

Кликните по всем фрагментам, которые подходят под условие задания.
public class Main {
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        int c = 15;

        // Вызов метода calculateSum с двумя аргументами
        int sum = {{calculateSum~|~t0}}({{a~|~t1}}, {{b~|~t2}});

        // Вызов метода printMessage с одним аргументом
        {{printMessage~|~t3}}({{"Сумма равна: "~|~t4}});

        // Вызов метода findMax с тремя аргументами
        int max = {{findMax~|~t5}}({{a~|~t6}}, {{b~|~t7}}, {{c~|~t8}});
    }

    public static int calculateSum(int x, int y) {
        return x + y;
    }

    public static void printMessage(String msg) {
        System.out.println(msg);
    }

    public static int findMax(int x, int y, int z) {
        return Math.max(x, Math.max(y, z));
    }
}
Сообщения
Проверить
Показать подсказку

8. Сопоставьте термин и описание

id: 40469_m6_params_08_compare_terms

Сопоставьте термин из левой колонки с соответствующим определением из правой. Каждый термин относится к ключевым понятиям темы "Параметры и аргументы метода" в Java. Обратите внимание, что в правой колонке определения перемешаны, и каждому термину соответствует ровно одно определение.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
Параметр
Аргумент
Сигнатура метода
Тип параметра
Возвращаемое значение
Перегрузка методов
Конкретное значение, передаваемое в метод при его вызове.
Значение, которое метод возвращает в вызывающий код.
Переменная в объявлении метода, которая получает значение при вызове.
Тип данных, который принимает параметр.
Возможность определять несколько методов с одним именем, но разными параметрами.
Комбинация имени метода и списка его параметров (типы и порядок).
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру