Функции

Говоря бытовым языком функция – это нечто, что принимает что-то на вход, затем выполняет преобразование и выдает что-то на выходе.

Представьте, что вам нужно приготовить 3 разных вида салата. Эти овощи нужно мелко порезать и перемешать. Эти повторяющиеся действия нужно выполнить для каждого набора овощей.

Чтобы избежать выполнение повторяющегося действия, мы можем использовать кухонный комбайн. Комбайн выполняет одну и ту же функцию для каждого набора овощей – нарезку и перемешивание.

Таким образом, комбайн - это функция, которая принимает на вход необработанные овощи, а на выходе выдает салат.

Рассмотрим пример функции, которая увеличивает любое число на единицу.

Функция в программе существует в двух видах – в определении функции (мы говорим, что комбайн существует, и описываем, как он работает) и в вызове функции (мы помещаем овощи в комбайн, т.е. используем его).

class Converter {
static int pluseOne(int n){
int result = n + 1;
return result;
}
public static void main(String[] args) {
int n1 = 3;
int n2 = pluseOne(n1);
System.out.println(n2);
}
}

 

Рассмотрим, как работает эта программа.

Сначала идет объявление функции. Объявление функции состоит из заголовка функции и тела функции. Заголовок функции – это текст, который предваряет блок кода. Блок кода обрамляют открывающая и закрывающая фигурные скобки. Объявление функции состоит из нескольких элементов.

  1. Тип функции – статическая или не статическая (пока примем это слово как данность),
  2. Тип возвращаемого значения – целое или дробное число, строка,
  3. Название функции,
  4. Тип принимаемого значение и название переменной, которая будет содержать это значение.


В строке static int pluseOne(int n){ происходит объявление функции.

  1. static – обозначает, что это статическая функция,
  2. int – обозначает, что функция возвращает целочисленное значение,
  3. pluseOne – название функции. Переводится как «плюсОдин»,
  4. int n – тип принимаемого значения. Функция принимает целое число. Это число попадает в переменную функции, которая обозначена как n.

Тело функции ограничено фигурными скобками. В нем содержится код, который будет выполняться.

Рассмотрим строку int result = n + 1; К значению, которое поступило в функцию добавляется единица. Результат операции присваивается в переменную result.

Рассмотрим строку return result;
Ключевое слово return (переводится как «вернуть»)  предваряет выводимое значение. result – переменная, которая следует за return. Функция вернет значение, которое находится в result.

Рассмотрим работу метода main.

Строка public static void main(String[] args) { - была рассмотрена в первых уроках. С нее начинается исполнение кода.

В строке int n1 = 3; объявляется переменная n1, которая имеет целочисленный тип и значение 3.

В строке int n2 = pluseOne(n1); происходит вызов функции pluseOne. При этом через круглые скобки этой функции передается параметр n1. Т.е. в функцию попадает число 3.

Таким образом, программа начинает работать с функции main.

Мы создаем переменную n1, которая имеет значение 3. Затем это значение передается в функцию pluseOne. Функция возвращает результат, который присваивается переменной n2. Затем переменная n2 выводится в консоль.

Задание: исправьте функцию таким образом, чтобы она умножала поданное в нее число на 10.