DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

Recursão

Definição de Recursão:

  • Recursão é um método que se chama a si mesmo.
  • Um método é recursivo quando contém uma chamada a ele próprio.

Exemplo Clássico:
Cálculo do fatorial é um exemplo clássico de recursão.
O fatorial de um número 𝑁 é o produto de todos os números inteiros de 1 a N

Exemplo de Código:

  • Código fornecido mostra um método recursivo (factR) e um método iterativo (factI) para calcular o fatorial.
  • Ambos os métodos retornam os mesmos resultados, mas com abordagens diferentes.

Funcionamento do Método Recursivo:

  • O método recursivo (factR) chama a si mesmo até que o valor de
  • 𝑛 n seja 1.
  • A cada chamada recursiva, o método "empilha-se" e só começa a retornar quando a condição base é atingida.

Pilha de Chamadas:

  • Cada chamada recursiva aloca espaço na pilha de execução para novos parâmetros e variáveis.
  • As chamadas recursivas podem causar saturação de pilha, resultando em exceções.

Comparação com Iteração:

  • Métodos recursivos podem ser mais claros e simples para certos algoritmos, como a ordenação rápida.
  • No entanto, versões recursivas podem ser mais lentas devido à sobrecarga de chamadas de método.

Cuidados ao Usar Recursão:

  • É crucial ter uma condição de término para evitar que o método entre em um loop infinito.
  • Instruções de depuração, como println(), podem ajudar a entender o fluxo de execução recursiva.

Código Recursivo para Calcular o Fatorial
VER RECURSION.JAVA

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more