Java Method Parameters

Оновлено: 22.05.2023

Параметри та аргументи

Інформація може бути передана методам як параметр. Параметри діють як змінні всередині методу.

Параметри вказуються після назви методу в круглих дужках. Ви можете додати стільки параметрів, скільки хочете, просто розділяйте їх комами.

У наступному прикладі наведено метод, який отримує рядок з іменем fname як параметр. При виклику методу ми передаємо ім'я, яке використовується всередині методу для виведення повного імені:

public class Main {
  static void myMethod(String fname) {
    System.out.println(fname + " Refsnes");
  }

  public static void main(String[] args) {
    myMethod("Liam");
    myMethod("Jenny");
    myMethod("Anja");
  }
}
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes
Коли в метод передається параметр, він називається аргументом. Отже, у прикладі вище: fname - це параметр, а Liam, Jenny та Anja - аргументи.

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

Ви можете мати скільки завгодно параметрів:

public class Main {
  static void myMethod(String fname, int age) {
    System.out.println(fname + " is " + age);
  }

  public static void main(String[] args) {
    myMethod("Liam", 5);
    myMethod("Jenny", 8);
    myMethod("Anja", 31);
  }
}

// Liam is 5
// Jenny is 8
// Anja is 31
Зверніть увагу, що коли ви працюєте з декількома параметрами, виклик методу повинен мати стільки ж аргументів, скільки є параметрів, і аргументи повинні передаватися в тому ж порядку.

Значення, що повертаються

Ключове слово void, яке використовується у наведених вище прикладах, вказує на те, що метод не повинен повертати значення. Якщо ви хочете, щоб метод повертав значення, ви можете використовувати примітивний тип даних (наприклад, int, char тощо) замість void і використовувати ключове слово return всередині методу:

public class Main {
  static int myMethod(int x) {
    return 5 + x;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(3));
  }
}
// Outputs 8 (5 + 3)

Цей приклад повертає суму двох параметрів методу:

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(5, 3));
  }
}
// Outputs 8 (5 + 3)

Ви також можете зберегти результат у змінній (рекомендується, оскільки так легше читати і підтримувати):

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    int z = myMethod(5, 3);
    System.out.println(z);
  }
}
// Outputs 8 (5 + 3)

Метод з if...else

Зазвичай всередині методів використовують оператори if...else:

public class Main {

  // Create a checkAge() method with an integer variable called age
  static void checkAge(int age) {

    // If age is less than 18, print "access denied"
    if (age < 18) {
      System.out.println("Access denied - You are not old enough!");

    // If age is greater than, or equal to, 18, print "access granted"
    } else {
      System.out.println("Access granted - You are old enough!");
    }

  }

  public static void main(String[] args) {
    checkAge(20); // Call the checkAge method and pass along an age of 20
  }
}

// Outputs "Access granted - You are old enough!"