Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java-рекурсия

Рекурсия Java

В этом руководстве вы узнаете о рекурсивной функции Java, ее преимуществах и недостатках.

В Java метод, который вызывает сам себя, называется рекурсивным методом. И этот процесс известен как рекурсия.

Примером физического мира может быть размещение двух параллельных зеркал друг против друга. Любой объект между ними будет отражен рекурсивно.

<час>

Как работает рекурсия?

<рисунок>

В приведенном выше примере мы вызвали 05 метод изнутри 13 метод. (обычный вызов метода). И внутри метода recurse() мы снова вызываем тот же метод recurse. Это рекурсивный вызов.

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

Следовательно, мы используем оператор if...else (или аналогичный подход) для завершения рекурсивного вызова внутри метода.

<час>

Пример. Факториал числа с использованием рекурсии

06

Вывод :

15 

В приведенном выше примере у нас есть метод с именем 26. . 38 вызывается из 45 метод. с числом переменная, переданная в качестве аргумента.

Здесь обратите внимание на утверждение

23

55 метод вызывает сам себя. Изначально значение n равно 4 внутри 62 . Во время следующего рекурсивного вызова 3 передается в 79 метод. Этот процесс продолжается до тех пор, пока n равно 0.

Когда n равно 0, 85 оператор возвращает false, поэтому возвращается 1. Наконец, накопленный результат передается в 99 метод.

<час>

Работа программы Факториал

Изображение ниже даст вам лучшее представление о том, как факториальная программа выполняется с использованием рекурсии.

<рисунок> <час>

Преимущества и недостатки рекурсии

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

С другой стороны, рекурсивное решение гораздо проще и требует меньше времени на написание, отладку и поддержку.

Рекомендуемая литература:каковы преимущества и недостатки рекурсии?


java

  1. Операторы Java
  2. Java-интерфейс
  3. Java-проба с ресурсами
  4. Java-аннотации
  5. Типы аннотаций Java
  6. Метод String Length() в Java:как найти на примере
  7. Метод Java String charAt() с примером
  8. Метод Java String endWith() с примером
  9. Java String replace(), replaceAll() и replaceFirst()
  10. Как перевернуть строку в Java с помощью рекурсии