Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Recursão Java

Recursão Java


Neste tutorial, você aprenderá sobre a função recursiva Java, suas vantagens e desvantagens.

Em Java, um método que chama a si mesmo é conhecido como método recursivo. E, esse processo é conhecido como recursão.

Um exemplo do mundo físico seria colocar dois espelhos paralelos um de frente para o outro. Qualquer objeto entre eles seria refletido recursivamente.


Como funciona a recursão?


No exemplo acima, chamamos o recurse() método de dentro do main método. (chamada de método normal). E, dentro do método recurse(), estamos novamente chamando o mesmo método recurse. Esta é uma chamada recursiva.

Para interromper a chamada recursiva, precisamos fornecer algumas condições dentro do método. Caso contrário, o método será chamado infinitamente.

Portanto, usamos a instrução if...else (ou abordagem semelhante) para encerrar a chamada recursiva dentro do método.

Exemplo:fatorial de um número usando recursão

class Factorial {

    static int factorial( int n ) {
        if (n != 0)  // termination condition
            return n * factorial(n-1); // recursive call
        else
            return 1;
    }

    public static void main(String[] args) {
        int number = 4, result;
        result = factorial(number);
        System.out.println(number + " factorial = " + result);
    }
}

Saída :
4 factorial = 24

No exemplo acima, temos um método chamado factorial() . O factorial() é chamado do main() método. com o número variável passada como argumento.

Aqui, observe a afirmação,
return n * factorial(n-1);



O factorial() método está chamando a si mesmo. Inicialmente, o valor de n é 4 dentro de factorial() . Durante a próxima chamada recursiva, 3 é passado para o factorial() método. Este processo continua até n é igual a 0.

Quando n for igual a 0, o if declaração retorna false, portanto, 1 é retornado. Finalmente, o resultado acumulado é passado para o main() método.

Trabalho do Programa Fatorial


A imagem abaixo lhe dará uma ideia melhor de como o programa fatorial é executado usando recursão.

Vantagens e desvantagens da recursão


Quando uma chamada recursiva é feita, novos locais de armazenamento para variáveis ​​são alocados na pilha. À medida que cada chamada recursiva retorna, as variáveis ​​e parâmetros antigos são removidos da pilha. Portanto, a recursão geralmente usa mais memória e geralmente é lenta.

Por outro lado, uma solução recursiva é muito mais simples e leva menos tempo para escrever, depurar e manter.

Leitura recomendada:Quais são as vantagens e desvantagens da recursão?

Java

  1. Operadores Java
  2. Interface Java
  3. Java try-with-resources
  4. Anotações Java
  5. Tipos de anotação Java
  6. Método String Length () em Java:como encontrar com exemplo
  7. Método Java String charAt() com exemplo
  8. Java String EndsWith() Método com Exemplo
  9. Java String replace(), replaceAll() e método replaceFirst()
  10. Como reverter uma string em Java usando recursão