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

Mais conteúdo relacionado

PDF
Estrutura de Dados Apoio (Tabela Hash)
PDF
[Curso Java Basico - Exceptions] Aula 47: try, catch
PDF
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
PDF
POO - Aula 09 - Herança
PPTX
Extreme Programming (XP) e Scrum
PDF
Curso Java Basico] Aula 19: Vetores (Arrays)
PDF
POO - 19 - Elementos Estáticos
PDF
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
Estrutura de Dados Apoio (Tabela Hash)
[Curso Java Basico - Exceptions] Aula 47: try, catch
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
POO - Aula 09 - Herança
Extreme Programming (XP) e Scrum
Curso Java Basico] Aula 19: Vetores (Arrays)
POO - 19 - Elementos Estáticos
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner

Mais procurados (20)

PPTX
Estrutura de dados em Java - Recursividade
PPTX
Java 8 streams
PDF
Paradigmas de programação
PDF
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
PDF
Using T-SQL
PPTX
Clean Code (Robert C. Martin)
PPTX
Java: Excecoes e Tratamento de Erros
PDF
Banco de Dados I Aula 06 - Generalização e Especialização
PDF
Java orientação a objetos (associacao, composicao, agregacao)
PDF
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
PPTX
Ciclo desenvolvimento de sistemas
PPTX
Spring Boot
PDF
Unit Testing like a Pro - The Circle of Purity
PDF
POO - 03 - Alocação de Memória em Java
PPTX
Functional Programming Fundamentals
PDF
Data Structure: Algorithm and analysis
PDF
Programação Orientada a Objetos
PPT
Algoritmos 05 - Estruturas de repetição
PPTX
Introduction to java 8 stream api
PDF
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Estrutura de dados em Java - Recursividade
Java 8 streams
Paradigmas de programação
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Using T-SQL
Clean Code (Robert C. Martin)
Java: Excecoes e Tratamento de Erros
Banco de Dados I Aula 06 - Generalização e Especialização
Java orientação a objetos (associacao, composicao, agregacao)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Ciclo desenvolvimento de sistemas
Spring Boot
Unit Testing like a Pro - The Circle of Purity
POO - 03 - Alocação de Memória em Java
Functional Programming Fundamentals
Data Structure: Algorithm and analysis
Programação Orientada a Objetos
Algoritmos 05 - Estruturas de repetição
Introduction to java 8 stream api
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Anúncio

Destaque (20)

PDF
[Curso Java Basico - Orientacao a Objetos] Aula 44: Interfaces
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 36: Relacionamento tem um
PDF
[Curso Java Basico - Exceptions] Aula 50: stacktrace e throws
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 32: Encapsulamento: métodos g...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 27: Classes e metodos com par...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 26: Classes e metodos com ret...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
PDF
[Curso Java Basico] Aula 17: Loop for
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 41: Heranca: classes abstratas
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 39: Heranca: modificadores de...
PDF
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 29: Construtores e Codigo de ...
PDF
[Curso Java Basico] Aula 22: Como debugar no Eclipse
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 37: Heranca
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 34: Variáveis e metodos estat...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 40: Heranca e Polimorfismo: s...
PDF
[Curso Java Basico - Exceptions] Aula 49: finally
PDF
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
PDF
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico - Orientacao a Objetos] Aula 44: Interfaces
[Curso Java Basico - Orientacao a Objetos] Aula 36: Relacionamento tem um
[Curso Java Basico - Exceptions] Aula 50: stacktrace e throws
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
[Curso Java Basico - Orientacao a Objetos] Aula 32: Encapsulamento: métodos g...
[Curso Java Basico - Orientacao a Objetos] Aula 27: Classes e metodos com par...
[Curso Java Basico - Orientacao a Objetos] Aula 26: Classes e metodos com ret...
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico] Aula 17: Loop for
[Curso Java Basico - Orientacao a Objetos] Aula 41: Heranca: classes abstratas
[Curso Java Basico - Orientacao a Objetos] Aula 39: Heranca: modificadores de...
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Orientacao a Objetos] Aula 29: Construtores e Codigo de ...
[Curso Java Basico] Aula 22: Como debugar no Eclipse
[Curso Java Basico - Orientacao a Objetos] Aula 37: Heranca
[Curso Java Basico - Orientacao a Objetos] Aula 34: Variáveis e metodos estat...
[Curso Java Basico - Orientacao a Objetos] Aula 40: Heranca e Polimorfismo: s...
[Curso Java Basico - Exceptions] Aula 49: finally
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
[Curso Java Basico] Aula 23: Como debugar no Netbeans
Anúncio

Último (19)

PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PDF
Jira Software projetos completos com scrum
PDF
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
PPTX
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPT
Aula de Engenharia de Software principais caracteristicas
PDF
Banco de Dados 2atualização de Banco de d
PPTX
ccursoammaiacursoammaiacursoammaia123456
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Processamento da remessa no SAP ERP, SCM610 Col15
Jira Software projetos completos com scrum
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
Conceitos básicos de Redes Neurais Artificiais
Tipos de servidor em redes de computador.pptx
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Analise Estatica de Compiladores para criar uma nova LP
SEMINÁRIO DE IHC - A interface Homem-Máquina
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Processos no SAP Extended Warehouse Management, EWM100 Col26
Aula de Engenharia de Software principais caracteristicas
Banco de Dados 2atualização de Banco de d
ccursoammaiacursoammaiacursoammaia123456
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,

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