1
resposta

Chamadas de metodos

Minha duvida é como o java chama métodos, poderiam me explicar de uma forma clara a recursividade da linguagem.

Grato..

1 resposta

A recursividade geralmente é um termo que assusta as pessoas que estão começando a programar, realmente se não é bem explicado e bem exemplificado, o entendimento acaba se tornando mais difícil.

A recursividade é quando uma função chama ela mesma, uma condição é verificada a cada vez em que ela for chamada para que não entre em um loop infinito:

public int sum(int n) {
    if (n >= 1) {
        return sum(n - 1) + n;
    }
    return n;
}

Existem dois requisitos principais de uma função recursiva:

  • Uma condição de parada - a função retorna um valor quando uma determinada condição é satisfeita, sem outra chamada recursiva
  • A chamada recursiva - a função se chama com uma entrada que está um passo mais perto da condição de parada Cada chamada recursiva adicionará um novo quadro à memória da pilha da JVM. Portanto, se não prestarmos atenção à profundidade de nossa chamada recursiva, uma exceção de falta de memória poderá ocorrer.