Recursividade em Java
A recursividade em Java (recursão) é uma forma de programar no qual o método (função) chama a ele mesmo. Isto pode parecer estranho ou um erro de programação, mais a recursão é uma das técnicas mais interessantes em programação.
A recursividade é nada mais nada menos do que uma função dentro da outra e ela deve ser pensada como uma pilha (estrutura de dados onde o último a entrar, deve ser o primeiro a sair).
A estrutura dela consiste em descer até a base fazendo os cálculos ou rotinas de cada instrução e então da base até o topo da pilha são empilhados os resultados de cada instrução, e no final o topo contém o resultado que é retornado.
Abaixo temos um esquema que ilustra o conceito de recursão e um exemplo de codificação que é frequentemente usado para explicar a recursividade:
public int soma(int n) {
//a soma de n com 0 é o próprio n
if(n == 0) {
return n;
}
return n + soma(n - 1);
}
//Se n = 4, então soma(4):
/* return 4 + (4-1) = 7
return 7 + soma(3-1) = 9
return 9 + soma(2-1) = 10
*/
public int fatorial(int n) {
if(n == 0) { //fatorial de 0 é 1
return 1;
//senão...
return n * fatorial(n - 1);
}
//Se n = 4, então fatorial(4):
/* return 4 * (4-1) = 12
return 12 * fatorial(3-1) = 24
return 24 * fatorial(2-1) = 24
*/
Domine as boas práticas com projetos práticos que vão te ajudar a desenvolver sistemas e se destacar no mercado de programação.
Clique na imagem abaixo e conheça mais detalhes do nosso curso:
Link do curso: https://go.hotmart.com/S90628636G?src=siteCB
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits