Manual de Java Modulo1
Manual de Java Modulo1
MÓDULO 1
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Introdução
Bem-vindo ao mundo da programação em Java!
Sem muitas introduções irei apenas dizer que o Java é uma linguagem de programação orientada a
objectos e que foi descoberta na década de 1990 por um grupo de programadores da SUN.
Actualmente tem sido uma das mais procuradas no mercado informático.
O Java é uma evolução do C e do C++.
Com o Java pode fazer aplicações complexas para gestão de bancos, super mercados, recursos
humanos, etc. Com o Java também pode fazer animações e outros efeitos audio-visuais de
multimédia.
Seguiremos agora para a parte introdutória do nosso curso que é apenas uma introdução ao tão
imenso mundo do Java.
PARTE 1:
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Regras de definição dos identificadores:
1. Devem começar sempre com uma letra
2. Não podem conter espaço
3. Não podem conter caracteres especiais excepto o underscore “_”
4. Podem conter números
5. Não podem conter palavras reservadas do Java
int %idade#, // não podemos usar carácter especial deve começar com uma letra e deve ter ;
char $sexo; // não podemos usar carácter especial
String #nome completo; etc. ... // não pode ter espaço nem usar carácter especial
ATT: Os nomes das variaveis devem ser sugestivos; por exemplo: se uma variável vai guardar o
nome, não é aconselhavel chamá-la de idade mas sim nome, se uma variável vai guardar a idade
não podemos chamá-la de sexo e assim por diante.
Todos os programas em Java devem ser feitos dentro de uma classe que por sua ves pode ou não
ter um construtor <ver mais a diante>, vários métodos <ver mais a diante> e para executar a classe
deve conter o metodo main que é o método chamado para a execução dos programas.
As classes devem aconsselhavelmente começar com letra maiúscula e o nome da classe deve ser
igual ao nome do [Link].
Se uma class tiver construtor, o construtor deve ter o mesmo nome que a classe.
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
ex.:
Este programa envia uma mensagem na consola. Pode testar para ver o resultado.
NOTA: toda a class começa e termina com uma chaveta e é aconselhavel assim que abrir a
chaveta fechar logo para evitar erros de compilação.
Antes de tudo, abrir a consola e depois entrar na pasta em que se encontra o [Link]
ATT: se depois da compilação não tiver erro, podemos ir para a execução caso contrario devemos
eliminar primeiro os erros.
ATT: tudo que estiver em comentário o compilador ignora e não dá nenhum erro.
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Podemos declarar e inicializar uma variável ao mesmo tempo:
String nomeCompleto = “Osvaldo Ramos”;
int idade = 15; etc.
x = 5; /* atribui-se o valor 5 a variável x, quer dizer que apartir de agora a variavel x contem o
valor 5 guardado */
y = x; /* quer dizer que y recebe o que estiver armazenado na variável x que neste caso é o
numero 5, logo y também vale 5 */
ATT: Quando declaramos uma variável, estamos a pedir ao compilador que nos reserve um espaço
na memoria para armazenar a informação que esta variável possa vir a receber, o espaço a reservar
depende do tipo da variável e a informação armazenada neste espaço só pode ser acedida por esta
variável. Por exemplo se a variável for do tipo int então o compilador reserva 4 bytes de memória,
se for um char reserva 2 bytes, e assim por diante.
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Exercícios:
NOTA: o tipo da variável indica o conjunto de dados que estas podem armazenar. Se quiser
armazenar apenas 1 caracter então declare uma variável do tipo char, se quizer guardar mais de 1
caracter então declare uma variável do tipo String, se quizer armazenar um número sem virgula
declare um int, se for um número com virgula declare um float ou double (se o número for muito
grande), se quiser armazenar algo que só admite dois possiveis estados (verdadeiro ou falso),
declare um boolean, etc.
ATT: se declarar uma variavel do tipo int não pode guardar nela um double, um float ou um
boolean porque são incompatíveis e o compilador não admite isto.
ex: int x = 4;
Quando declaramos uma variável e não inicialízamos o compilador coloca zero para os inteiros,
um carácter em branco para o char uma String vazia para as Strings, etc.
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
O valor de uma variável como o nome diz pode ser alterado ao longo da execução do programa.
Mas se quizer que o valor não se altere então declaramos uma constante:
ex.:
final int IDADE = 15;
final String NOME_ALUNO = “ Osvaldo Ramos”;
ATT: as constantes devem ser inicializadas quando declaramos uma vez que o seu valor não pode
ser alterado.
Se por ventura alterarmos o valor de uma constante o compilador emite 1 erro!!! Porque o valor
das constantes não podem ser alteradas ao longo da execução do programa.
Imports de Pacotes
O Java contém suporte para interface gráfica, painéis, ficheiros, etc. e para tal possui uma
biblioteca de classes (API) onde contém algumas classes que nos auxiliam a fazer aplicativos.
Na API existem pacotes e subpacotes, estes por sua vez possuem classes que por seu turno
possuem métodos.
Para usar um método de uma classe devemos fazer o import do pacote onde se encontra a class que
contém este método, como se fosse um “pedido de permissão”. Por exemplo para usar o método
showMessageDialog da class JOptionPane, devemos fazer o import do pacote
[Link] que é o pacote onde se encontra esta classe e todas as outras que
começam com a letra J como JComboBox, JPanel, JButton, etc., quer dizer então que para usar
qualquer class que comece com a letra J basta fazer o import do pacote [Link].
Para pedir permissão de todas as classes de um pacote faz-se import nomePacote.*;
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Exemplo de programas resolvidos.
Resultado:
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Resultados:
Conceito de métodos
Uma classe pode conter n métodos desde que os mesmos não tenham o mesmo nome. Os métodos
têm uma tarefa especifica a realizar dentro da class.
Os Scopo pode ser public, private, protected, final, static, etc. , quando o metodo é public, quer
dizer que pode ser usado em qualquer class, quando é private, só pode ser usado dentro da própria
class e quando é protected, só pode ser usado pelas classes do mesmo pacote.
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Quando o método não devolve um valor específico então o tipo de retorno é void, caso contrário,
no final do método devemos sempre devolver o tipo de valor esperado que pode ser String, int, etc.
com o comando return <valor>;
Todo o método deve ter um nome desde que não tenha nenhum método com aquele nome, os
nomes devem aconselhavelmente começar em minúscula e seguir as regras dos identificadores
vistas atrás.
Os métodos podem ou não receber variáveis como parâmetro e se receber mais de uma variável
como parâmetro deve haver uma separação com vírgula entre os parametros.
ATT: os métodos começam e terminam com chavetas devendo fechar assim que abrir uma chaveta
para evitar erros. Os métodos podem chamar outros métodos, classes e usar variáveis globais e
locais. Dentro de um método podemos declarar quantas variáveis locais quisermos.
Este método é private o que quer dizer que só pode ser usado dentro da sua class, não devolve nada
chama-se showMessage e não recebe parametro
ATT: todo método deve estar dentro de uma class. As classes têm construtores e métodos.
10
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Exemplo de incrementos:
int y = 2, x;
y++; // equivalente a y = y + 1;
Valor de y = 3;
x = --y; //equivalente a x = y – 1;
Valor de x = 2;
Incrementos Decrementos
++i; | --i;
i++; | i--;
i = i + 1; | i -= 3;
i *= 2; | i /= 2;
1. y = i++ <=> i = i + 1
2. y = ++i <=> i = i + 1
3. i *= 3 <=> i = i * 3
4. i /= 5 <=> i = i / 5
5. i -- <=> i = i – 1
6. --i <=> i = i - 1
11
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Operadores lógicos
Operadores Relacionais
12
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Operadores Aritméticos
Operadores Exemplos
+ 2+1=3
- 3 – 5 = -2
/ 5/3=1
* 3 * 4 = 12
% 5%3=2
if-else
Sintaxe:
if (<condição> = verdadeira)
//executar tarefa1
else
//executar tarefa2
ATT: as condições de teste do if devem sempre ser uma expressão lógica, porque estas devolvem
sempre true ou false.
13
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
NOTA: Se tivermos mais de uma instrução a ser executada dentro do if então temos de usar as
chavetas para identificar o inicio e o fim “do if”, caso tenhamos apenas uma instrução a ser
executada dentro do if, não precisamos de usar chavetas.
1. se (carroEstaBom) então
vou sair
senão
fico em casa estudando
2. se (tenhoDinheiro) então
Vou comprar um carro
senão se (dinheiroNaoChega) então
vou comprar uma motorizada
senão
não compro nada //porque não tenho dinheiro suficiente
switch
Também há vezes em que temos varias oportunidades de fazer algo mas só podemos escolher uma
coisa dentre as varias opções. Nestes casos, em Java usa-se um switch para escolher uma entre
varias opções.
Sua sintaxe:
Switch (opção)
14
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
{
case opcao1:
//fazer tarefa1;
break;
case opcao2:
//fazer tarefa2;
break;
case opcao3:
//fazer tarefa3;
break;
default:
//fazer algo por defeito;
break;
}
O break serve para fazer apenas uma coisa de cada vez e terminar logo as opções de escolha,
porque uma pessoa não pode fazer duas coisas ao mesmo tempo.
Resultado:
15
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Exemplo usando switch
Ciclos Repetitivos
Existem basicamente 3 tipos de ciclos repetitivos em todas as linguagens de programação, o ciclo
for, ciclo while e o ciclo do-while.
¾ Ciclo for:
Este ciclo tem três cláusulas <inicialização; condiçãoDeParagem; incremento>
A sua sintaxe é:
16
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
for (<inicio>; <condiçãoParagem>; <incremento>)
{
<comando1>
……..
……..
<comandoN>
}
NOTA: só precisamos de chaveta se o ciclos tiver mais do que uma instrução a ser executada.
Resulted:
este ciclo funciona automaticamente desde que coloquemos o valor de inicio do ciclo, a condição
de paragem e o respectivo incremento.
17
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
¾ Ciclo while:
Sua sintaxe é:
<inicialização>
while (<condiçãoDeParagem>)
{
//instruções…….
<incremento>
}
Resultado:
18
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
¾ Ciclo do - while:
Sua sintaxe é:
<inicialização>
do
{
//instruções ….
<incremento>
Sempre que quiser fazer uma tarefa que provavelmente vai se repetir mais de 3 ou 4 vezes é
aconselhável usar um ciclo repetitivo para tal, evitando muitas declarações de variáveis, e muitas
linhas de código.
19
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Os ciclos repetitivos são muito importantes para os programadores porque facilitam imenso, em
caso de operações repetitivas.
9 return
Força o término de um determinado método ou função
9 break
20
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Ex. Usando o break
Resultado:
NOTA: depois do break o ciclo termina e já não executa nenhuma instrução asseguir
que esteja dentro do ciclo.
9 continue
Em vez de terminar o ciclo, salta apenas para próxima iteração do ciclo.
Se por exemplo quisermos mostrar todos números impares de 1 a 20, basta
colocarmos um teste se (i % 2 = = 0) então continue;
21
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Vejamos:
//este programa mostra todos números impares de 1 a 20
Resultado:
22
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
¾ Resumo
Queríamos com esta 1ª parte dar aos leitores a possibilidade de ter as primeiras bases que
vão servir de auxílio para compreender o que vem a seguir.
Em suma queríamos dar-lhe a conhecer o que acontece quando declaramos uma variável,
quais os tipos de variáveis, como declara-las, como usa-las, e muito mais.…
Saber que quando queremos usar uma class da biblioteca de classes do Java demos fazer o
respectivo import do pacote que contem esta classe, como declarar constantes e métodos,
chamada dos métodos, vimos também que é aconselhável dividir os programas em métodos
onde cada um terá uma função especifica e realizar de modos a tornar o programa mais
simples e legível. Vimos ainda a utilidade dos ciclos repetitivos, dos testes e condições, do
switch, dos operadores e expressões lógicas, aritméticas e relacionais, e muitos outros
conceitos que o ajudarão com certeza a entender o veremos nas próximas lições.
Exercícios Práticos 1
1- Fazer um método que recebe dois números inteiros e devolve a subtracção de ambos, outro
que devolve a multiplicação e outro que devolve a divisão.
2- Fazer um método que recebe como parâmetros o nome e a idade de alguém e imprime uma
mensagem dizendo se este individuo tem ou não idade para ter carta de condução ( >= 18
anos).
3- Fazer um método que recebe um numero e devolve o valor absoluto deste numero. Abs (-2
) = 2.
4- Fazer um método que não recebe parâmetros, solicita um número ao utilizador e mostra a
tabuada de 1 à 10 deste número (deve usar ciclos a sua escolha).
a) if ( age >= 65 );
[Link]( "Age greater than or equal to 65" );
else
[Link]( "Age is less than 65 )";
b) int x = 1, total;
23
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
while ( x <= 10 )
{
total += x;
++x;
}
d) while ( y > 0 )
{
[Link]( y );
++y;
N 2*N 3*N
5 10 15
3 6 9
9 18 27
24
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
10. Fazer um programa que gera o seguinte
********
********
********
********
********
********
********
11. Fazendo uso dos ciclos repetitivos, fazer um programa que gera os seguintes outputs
a. ********** b. * c. ********** d. *
********* ** ********* **
******** *** ******** ***
******* **** ******* ****
****** ***** ****** *****
***** ****** ***** ******
**** ******* **** *******
*** ******** *** ********
** ********* ** *********
* ********** * **********
12. Fazer um método que recebe um número inteiro decimal e devolve o seu equivalente em
binário.
14. Fazendo o uso de um ciclo do-while e com o auxílio do switch, desenvolva uma mini
calculadora que faz as operações de soma, multiplicação, subtracção e divisão. O programa deve
mostrar um menu principal em que a ultima opção seja a opção Sair. Nota que a condição de
paragem do ciclo é a opção Sair.
Nota: depois de fazer estes exercícios sozinho, estará em condições de fazer qualquer exercício
que envolva esta matéria.
25
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
PARTE 2:
0 13
1 2
2 23
3 77
4 66
5 55
6 45
7 98
8 78
9 90
Por exemplo
nomeVector[ 0 ] = 13
nomeVector[ 1 ] = 2
nomeVector[ 2 ] = 23
nomeVector[ 9 ] = 90
26
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
2.3 – Declaração e Inicialização dos Arrays
Existem varias formas Para declarar um Array em Java
1. int num[ ] = new int[ 10 ]; // declaramos 1 vector de 10 elementos de 0 - 9
// Este tipo de declração também é valido mas indica que todas as variáveis declaradas
nesta linha são do tipo Array.
4. double[ ] valores = new double[ 12 ], elementos = new double[ 32 ];
Nota: Para dar o nome de um vector devemos seguir as regras dos identificadores,
vistas nas lições anteriores.
para incializá-lo, podemos fazer de duas formas, depois diga qual é a melhor.
27
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
1. números[ 0 ] = 0;
números[ 1 ] = 0;
números[ 2 ] = 0;
números[ 3 ] = 0;
números[ 4 ] = 0;
números[ 5 ] = 0;
números[ 6 ] = 0;
números[ 7 ] = 0;
números[ 8 ] = 0;
números[ 9] = 0;
2.
for ( int i = 0; i < 10; ++i )
números[ i ] = 0;
veje a grande utilidade dos ciclos repetitivos e use-os sempre que possível.
NOTA: Para saber o tamanho de um Array use o método lenght da class Array.
A class Vector pertecnce ao pacote [Link].*; e possui vários métodos mais flexíveis para
manipulação dos seus dados. <ver class Vector na API-JAVA>.
Já vimos atrás que para aceder um elemento do vector devemos apenas dizer o nome do vector em
que pertence o elemento e sua posição neste vector. Quer dizer então que podemos manipular os
dados do vector demodos a fazer todas operações possíveis sobre o tipo de dados do vector.
28
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Exemplo.
Y = v[ 1 ] + v[ 5 ];
v[ 2 ] = v[ 5 / 2 ] % v[ 5 % 2 ];
v[ 3 ] = v[ 3 ]++;
v[ 2 ] = --v[5];
29
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Resultado:
30
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
¾ Resumo
Entender bem a funcionalidade dos Arrays é muito importante para entender o que veremos
a seguir e também porque usaremos muitas vezes ao longo do curso.
Não se esqueça que para dar o nome de um vector devemos seguir as regras dos
identificadores, e dar nomes sugestivos. Lembre-se também que para aceder a um elemento
do Array basta fazer: nomeVector [posição], e que as posições dos Array vão de 0 à n – 1.
Antes de Avançares para o ponto a seguir, procure entender 1º tudo que vimos até agora e
só assim verá que o resto não tem segredo.
Exercícios Práticos 2
3. Fazer um método que recebe um Array do tipo char e um carácter para inicializar este
Array, nota que o método deve devolver o Array inicializado com o carácter recebido.
5. Fazer um método que recebe um Array de inteiros e devolva a soma de todos elementos
deste Array.
31
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
9. Fazer um método de preferência recursivo que recebe dois Arrays e troca os seus
conteúdos.
10. Fazer um método que recebe um Array de caracteres e um numero N e mostre os elementos
de N em N posições. exemplo se N = 2, mostra os elementos de 2 em 2.
PARTE 3:
Há algoritmos que são mais fáceis de se fazer recursivamente e outros que são mais fáceis
fazê-los de forma iterativa, mas todo algoritmos recursivo tem sempre um equivalente
iterativo e vice-versa.
Os algoritmos iterativos gastam menos memória e em certos casos são mais simples de se
resolver.
Uma das grandes vantagens dos algoritmos recursivos é que são muito pequenos em
relação aos iterativos e também mais complexos.
Ter sempre em mente que antes de tudo devemos pensar logo na condição de paragem da
recursão, ou seja, devemos nos perguntar, quando é que a função deve parar de se chamar?
32
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
nunca atingirá a condição de paragem até que os recursos do computador usados na
execução do programa se esgotem.
Depois de tudo isso, estamos em condições de fazer qualquer programa recursivo do mais
simples ao mais complexo.
Dentro desta class tem dois métodos recursivos um que calcula a multiplicação de 2
números e outro que calcula o factorial de um número.
Como pode ver ambos têm uma condição de paragem e depois as chamadas recursivas da
própria função dentro dela.
33
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
3.4 - Conversão de Algoritmos Recursivos em Iterativos e vice –
versa
Não há grandes segrados para converter um algoritmo recursivo em iterativo e vice-versa,
basta verificar que as condições de paragem são as mesmas tanto para o algoritmos recursivo
como para o iterativo, o que muda é apenas o facto de que nos iterativos usamos ciclos
repetitivos e nos recursivos fazemos varias chamas a função com o incremento ou decremento
de uma variável.
NOTA: o segredo do sucesso está na dedição das pessoas e no esforço que fazemos para
alcançar os nossos objectivos, baseando-se nestas frases, quero eu dizer que para ser um bom
programador, devemos dedicar-nos e esforçar-nos muitos para conseguirmos tudo que
queremos “Ser bons Programadores”. Se no mínimo gastarmos 2 ou 3 horas para programar
todos dias, pode crer que em pouco tempo você alcançará o seu sonho.
34
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
3.5 – Resumo
Como dizia um autor; Para Fazer Exercícios de Recursão é preciso ter fé.
Se tivéssemos de falar tudo sobre a recursão acabaríamos mais de 100 páginas, isto
é apenas uma introdução ao mundo da recursão que é bastante interessante.
Esperamos que tenha ficado claro os detalhes mais importantes dos algoritmos
recursivos que são:
Quando for mais simples resolver um problema recursivamente não exite, mas
também não se esqueça que recursão gasta muita memória.
Mais a frente, vamos resolver mais alguns algoritmos recursivos para que o leitor
possa familiarizar-se com eles facilmente.
35
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos
Conclusão do 1º Módulo:
Neste módulo, tentamos na medida do possível, ajudar o leitor a se familiarizar com a
linguagem e prepará-lo para o que vem nos módulos subsequentes.
NOTA: “Mais vale saber pouco e bem do que saber muito e mal”.
Espero muito sinceramente que tenha aprendido alguma coisa com este 1º módulo do
curso e que não desista porque o que vem a frente é muito espectacular.
Qualquer duvida não exite em ligar para [Link] Osvaldo Ramos ou escrever para
osvaldoramos2006@[Link], Java Is My Life.
Referência Bibliográfica:
Java How To Program 4ª Edition, Deitel & Deitel
[Link]
36
IF´S – Edifício da Rádio Vial, Nº8 - 2º Andar, Tel.: 222 31 08 16 – 222 311 627
ifs@[Link]
Curso de programação em Java, modulo 1, elaborado por Osvaldo Ramos