Функции – это подпрограммы, к которым можно обращаться многократно. Если в программе есть фрагмент кода, повторяющийся несколько раз, его можно оформить в виде функции, избегая многократного копирования. Это один из основных способов применения функций.
Что такое функции?
Пример функции – public static void main(String[] args). Это обычная функция с именем main.
- void – тип возвращаемого значения. void означает, что функция ничего не возвращает.
- main – имя функции.
- String[] args – параметры функции (строковый массив с именем args).
- public и static – модификаторы доступа. Их подробное рассмотрение отложим на отдельный урок. Сейчас достаточно знать, что public – это модификатор доступа.
Структура функции
Функцию можно представить в следующем виде:
ТипВозвращаемогоЗначения ИмяФункции(Параметры) {
ТелоФункции
}
- Тип возвращаемого значения: Может быть любым типом данных (например, int, float, double, char) или void, если функция ничего не возвращает. Функции, выводящие данные на экран, обычно не возвращают значений.
- Имя функции: Выбирается аналогично именованию переменных.
- Параметры: Переменные, передаваемые в функцию. Скобки могут быть пустыми, если параметры отсутствуют.
- Тело функции: Блок кода, заключенный в фигурные скобки {}.
Пример функции: возведение в степень
Рассмотрим функцию, возводящую число в степень:
public static int pow(int a, int b) {
int result = 1;
for (int i = 0; i < b; i++) {
result *= a;
}
return result;
}
- Функция pow принимает два целочисленных параметра: a (основание) и b (степень).
- Она возвращает результат возведения a в степень b типа int.
- Цикл for используется для вычисления степени.
- return result; возвращает вычисленный результат.
Вызов функции и вывод результата:
int temp = pow(3, 4);
System.out.println(temp); // Выведет 81
Если функция не возвращает значение (void), return не используется. Вместо этого результат может выводиться непосредственно внутри функции с помощью System.out.println().
Рекурсивные функции и чтение массива с консоли
Функции могут вызывать сами себя (рекурсивные функции). Также рассмотрим функцию readArray, считывающую с консоли размер массива и его элементы:
import java.util.Scanner;
public static int[] readArray() {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] r = new int[n];
for (int i = 0; i < n; i++) {
r[i] = in.nextInt();
}
return r;
}
Функция readArray использует Scanner для считывания данных с консоли и возвращает созданный массив. Пример рекурсивной функции будет рассмотрен в последующих уроках.
В этом уроке мы рассмотрели основы работы с функциями в Java. Функции позволяют структурировать код, делать его более читаемым и многократно использовать фрагменты кода. Рекурсивные функции — мощный инструмент, но требуют внимательного использования. В следующих уроках мы продолжим изучение более сложных аспектов программирования на Java.