Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Recursão | Methods
Java Extended

RecursãoRecursão

Como quebrar facilmente seu código?

Isso pode ser feito com recursão.
Recursão em Java é um processo no qual um método chama a si mesmo. Por que isso pode quebrar o código? Porque pode levar a uma recursão infinita, que consumirá memória sem fim e diminuirá o desempenho do dispositivo. Então, por que precisamos de recursão afinal? Em alguns casos, a recursão pode ser útil, mas deve ser usada com cautela. A recursão, por exemplo, pode substituir um loop while. Vamos olhar para um exemplo de uso da recursão para calcular a soma de todos os números até um número passado como parâmetro:

java

Main.java

O método calculateSum() chama a si próprio com valores reduzidos. Também temos um ponto de saída dessa recursão quando a variável num se torna zero. Este método calcula a soma de todos os números de 1 até o parâmetro, no nosso caso 5. Vamos observar o fluxograma que mostra como a recursão funciona usando este método como exemplo:

O exemplo acima demonstra como o método se chama com valores reduzidos, e quando atinge o zero, ele volta somando os valores. Também podemos observar como o corpo do bloco if é executado, onde adicionamos num ao resultado da chamada do método com um valor reduzido. Os valores intermediários após cada chamada do método são indicados próximo às setas.

Podemos evitar o uso de recursão?

A recursão também pode ser substituída por um loop regular. Vamos olhar para um exemplo onde primeiro usamos um método recursivo e depois usamos um for loop para realizar a mesma operação:

java

Main.java

Aqui podemos ver como substituímos nosso método recursivo por um loop for regular, utilizando a variável i para incrementar nosso resultado por i a cada vez até que alcance o número especificado num, que é o parâmetro no método.

Conclusão

Em conclusão, posso dizer que métodos recursivos são bastante interessantes mas também perigosos. Com a recursão, você pode tanto melhorar quanto quebrar completamente seu código. Quase toda recursão pode ser substituída por um loop utilizando chamadas de métodos. Portanto, usar recursão ou substituí-la por um método é uma escolha sua. Mas se ainda assim optar por usar recursão, mesmo que a tenha dominado bem, seja extremamente cauteloso.

1. O que é recursão em Java?
2. Qual é melhor usar, recursão ou um loop regular?

O que é recursão em Java?

Selecione a resposta correta

Qual é melhor usar, recursão ou um loop regular?

Selecione a resposta correta

Tudo estava claro?

Seção 2. Capítulo 7
course content

Conteúdo do Curso

Java Extended

RecursãoRecursão

Como quebrar facilmente seu código?

Isso pode ser feito com recursão.
Recursão em Java é um processo no qual um método chama a si mesmo. Por que isso pode quebrar o código? Porque pode levar a uma recursão infinita, que consumirá memória sem fim e diminuirá o desempenho do dispositivo. Então, por que precisamos de recursão afinal? Em alguns casos, a recursão pode ser útil, mas deve ser usada com cautela. A recursão, por exemplo, pode substituir um loop while. Vamos olhar para um exemplo de uso da recursão para calcular a soma de todos os números até um número passado como parâmetro:

java

Main.java

O método calculateSum() chama a si próprio com valores reduzidos. Também temos um ponto de saída dessa recursão quando a variável num se torna zero. Este método calcula a soma de todos os números de 1 até o parâmetro, no nosso caso 5. Vamos observar o fluxograma que mostra como a recursão funciona usando este método como exemplo:

O exemplo acima demonstra como o método se chama com valores reduzidos, e quando atinge o zero, ele volta somando os valores. Também podemos observar como o corpo do bloco if é executado, onde adicionamos num ao resultado da chamada do método com um valor reduzido. Os valores intermediários após cada chamada do método são indicados próximo às setas.

Podemos evitar o uso de recursão?

A recursão também pode ser substituída por um loop regular. Vamos olhar para um exemplo onde primeiro usamos um método recursivo e depois usamos um for loop para realizar a mesma operação:

java

Main.java

Aqui podemos ver como substituímos nosso método recursivo por um loop for regular, utilizando a variável i para incrementar nosso resultado por i a cada vez até que alcance o número especificado num, que é o parâmetro no método.

Conclusão

Em conclusão, posso dizer que métodos recursivos são bastante interessantes mas também perigosos. Com a recursão, você pode tanto melhorar quanto quebrar completamente seu código. Quase toda recursão pode ser substituída por um loop utilizando chamadas de métodos. Portanto, usar recursão ou substituí-la por um método é uma escolha sua. Mas se ainda assim optar por usar recursão, mesmo que a tenha dominado bem, seja extremamente cauteloso.

1. O que é recursão em Java?
2. Qual é melhor usar, recursão ou um loop regular?

O que é recursão em Java?

Selecione a resposta correta

Qual é melhor usar, recursão ou um loop regular?

Selecione a resposta correta

Tudo estava claro?

Seção 2. Capítulo 7
some-alt