Java Básico
Recursividade
#35
Fórum para dúvidas + certificado do curso.
Cadastro em:
•Métodos Recursivos
•Exemplo Calcular Fatorial
Agenda
O que é recursividade
http://vidadeprogramador.com.br/2012/06/04/faz-uma-tirinha/
Função/Método recursivo
•Método que chama ele mesmo
•Precisa de um ponto de parada
Fatorial de um número
•5! = 5 * 4 * 3 * 2 * 1 = 120
Método não recursivo
public int calculaFatorial(int num){
int total = 1;
for (int i=num; i>1; i--){
total *= i;
}
return total;
}
Método recursivo
public int fatorial(int num){
if(num == 0){
return 1;
}
return num * fatorial(num-1);
}
Método recursivo
public int fatorial(int num){
if(num == 0){
return 1;
}
return num * fatorial(num-1);
}
Chama ele mesmo
Método recursivo
public int fatorial(int num){
if(num == 0){
return 1;
}
return num * fatorial(num-1);
}
Ponto de parada
Chama ele mesmo
fatorial(5)
fatorial(4)
fatorial(3)
fatorial(2)
fatorial(1)
fatorial(0) fatorial(0) = 1
fatorial(1) = 1 * fatorial(0)
fatorial(2) = 2 * fatorial(1)
fatorial(3) = 3 * fatorial(2)
fatorial(4) = 4 * fatorial(3)
fatorial(5) = 4 * fatorial(4)
Leitura = de baixo para cima
Hands On!
Lição
de casa
http://www.slideshare.net/loianeg/curso-
java-basico-exercicios-aula-35
Lista de exercícios aula 35
https://github.com/loiane/curso-java-basico
Código Fonte:
Não conhece Git/Github?
http://www.loiane.com/2013/11/
screencast-git-e-github-para-iniciantes
http://loiane.training
Curso Completo
disponível em
http://loiane.com
facebook.com/loianegroner
@loiane
https://github.com/loiane
youtube.com/user/Loianeg
Obrigada!
http://loiane.com

[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade