Buscar

Aula 07 Comandos da Linguagem

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Orientada a Objetos
Professores autores
Adriano Bezerra
Manuel Gomes
UiráKulesza
Aula 7 – Comandos da Linguagem
Apresentação
Nesta aula, iremos aprender um pouco mais sobre os comandos de fluxo de controle (if, switch) e repetição (while, for), que podemos utilizar na linguagem Java. Tais
comandos são também fundamentais para a construção de qualquer sistema e elaboração de nossos algoritmos.
Objetivos
Ao final desta aula, você será capaz de:
saber quais são os comandos de fluxo de controle e repetição existentes na linguagem Java;
usar nas situações adequadas cada um desses comandos.
Introdução
Olá pessoal! Nesta aula, continuaremos nosso estudo da
linguagem Java, e iremos explorar os comandos
existentes na linguagem.
Toda linguagem de programação oferece comandos para o desenvolvimento de nossos programas e algoritmos. Com a linguagem Java, também não é diferente, ela
oferece uma série de comandos para fluxos de controle e repetição. Uma boa parte de tais comandos são derivados das linguagens C e C++, que serviram de
inspiração para a criação de Java. 
A seguir, você vai aprender um pouco mais sobre tais comandos.
Comandos condicionais
Um dos principais tipos de comandos que existem em muitas linguagens são os comandos condicionais. Eles servem para alterar o fluxo normal de execução
seqüencial das instruções do seu programa. Ou seja, eles permitem que sejam feitos desvios ao longo da execução, afim de executar determinados trechos do
programa apenas nas situações desejadas.
Comando IF
Um dos comandos mais conhecidos e usados nas linguagens de programação moderna é o comando IF. A palavra “IF” em inglês significa “se” em português. Ela
indica alguma condição de decisão que é feita para controlar se um dado trecho de código é executado. Em Java, o comando IF pode apresentar duas formas: IF e
IF-ELSE (em português: “Se – Senão”).
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
1 of 10 08/19/2013 05:06 PM
Listagem 1 – Comando IF
Na Listagem 1, é apresentada a estrutura mais simples do comando IF. Como pode ser visto, o comando é estruturado de tal forma a avaliar uma dada condição. Caso
essa condição seja avaliada como verdadeira, o trecho de código que fica no bloco do comando (entre as chaves) é executado.
Listagem 2 – Exemplo do comando IF
A Listagem 2 mostra um exemplo concreto de tal comando, apresentando a implementação do método imprimirFaixaEtaria()da classePessoa. Observe que no
conteúdo do código usa-se o comando IF para verificar se a Pessoa é “menor de idade” testando se a “idade” é menor que 18 anos.
Vimos a primeira forma de utilização do comando IF, em que o programa só executa certo trecho de código, se e somente se, o teste avaliado tiver resultado
verdadeiro. Já a segunda forma IF-ELSE fornece outro trecho de código para o caso onde o teste for avaliado como falso.
Ele tem a seguinte forma geral:
Listagem 3 – Comando IF-ELSE
E para o nosso exemplo teríamos:
Listagem 4 – Exemplo do comando IF
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
2 of 10 08/19/2013 05:06 PM
Inserimos na Listagem 4 o comando ELSE que determina o bloco de comandos a serem executados caso a condição de teste o IF for falsa. Neste caso, mostra que o
objeto Pessoa em questão é maior de idade.
Comando IF aninhados
Aninhar o comando IF significa que podemos colocar comandos IF’s dentro de outros comandos IF. Vamos mostrar através do refinamento do exemplo anterior.
Listagem 5 – Exemplo do comando IF Aninhado
Observe que agora temos outras condições de teste, caso a idade da pessoa seja menor que 18. Nosso programa também está analisando se a pessoa é criança
(linha 15). Assim, como verifica se a pessoa é adolescente (linha 17). E, finalmente, temos simplesmente o comando ELSE(linha 19), pois não é necessário testar, uma
vez que já sabemos se a pessoa possui idade entre 16 e 17 anos, dado os testes dos IFs anteriores.
Atividade 1
Modifique a classe apresentada na Listagem 5 usando o comando IF de forma aninhada para testar se a “Pessoa maior de idade” é adulto ou
idoso.
Em seguida, crie um método main()que cria dois objetos da classe Pessoa com idades diferentes, e verifica qual a faixa etária de tais pessoas
chamando o métodoimprimirFaixaEtaria().
Comando SWITCH
Outro comando condicional existente na linguagem Java é o comando SWITCH (do inglês: desvio, mudar, trocar), assim como o IF, ele permite várias possibilidades para a
execução do programa. Um detalhe é que o SWITCH efetua sua condição de teste apenas nos tipos primitivos: byte, short, char e int. Mas, assim como a avaliação de condição
verdadeiro (true) ou falso (false) é suficiente para o comando IF, esses tipos são suficientes para tomar todas as decisões necessárias para o fluxo de seu programa.
A Listagem 6 mostra a estrutura geral do comando SWITCH.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
3 of 10 08/19/2013 05:06 PM
Listagem 6 – A forma geral do comando SWITCH
A Listagem 7 mostra como seria o uso do SWITCH para um exemplo de um dos métodos usado pela classe Automóvel. Observe no exemplo que dependendo do
valor que a variável cambio possui podemos imprimir a marcha que foi passada no automóvel. Ou seja, caso a variável cambio possua o valor 1, será exibida a
mensagem “Passou a 1ª marcha”. Vale observar o funcionamento do comando break, pois é ele quem define que uma vez encontrado um dadocase (caso), outro caso
(case) não será procurado, ocasionando assim a saída do comando switch.
Listagem 7 – Exemplo com o comando SWITCH
Outra possibilidade com o uso do SWITCH é a situação em que, para várias possibilidades, temos o mesmo caminho a seguir. A Listagem 8 mostra um exemplo de tal
uso do SWITCH.
Como pode ser visto em tal exemplo, caso o sensor disparado seja um dos sensores de 1 a 4, será mostrada uma mensagem indicando que existe uma porta aberta.
Caso seja os sensores 5 ou 6, será mostrada a mensagem indicando que a mala do carro está aberta. Observe que nesse exemplo a busca só é interrompida pelo
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
4 of 10 08/19/2013 05:06 PM
comando break quando se defineo que se deseja fazer (nesse caso, exibir uma mensagem). Pois enquanto o comando SWITCH não encontrar o break, mesmo já
tendo encontrado o case, ele continuará verificando os demais casos.
Listagem 8 – Comando SWITCH com case sem break
Atividade 2
Crie um método publicvoidmudarDirecao(char direção)para a classe Automóvelque defina a direção que o automóvel deve tomar de
acordo com os comandos recebidos. As possibilidades de comandos são: F = Frente, E = Esquerda, D = Direita.
1.
Observação
Veja as dicas seguintes:
defina cases no comando switch usando o tipo primitivo char.;
se tiver dúvidas na hora de uso do comando SWITCH, releia o exemplo da Listagem 7.
Comandos de repetição
Os comandos de repetição das linguagens de programação são responsáveis pelas rotinas que nós humanos consideramos tediosas. E isso torna os computadores
mais úteis. Primeiro, pela capacidade de repetição automática; segundo, em função da velocidade pelas quais são processadas. Por exemplo, imagine a tarefa de
procurar um nome em um enorme banco de dados, ou uma palavra em vários textos, ou mesmo efetuar a mesma sequência de cálculos para uma grande lista de
valores.
Comando WHILE
O comando WHILE (do inglês, “Enquanto”) repete um comando ou um bloco de comandos enquanto a condição de teste for verdadeira. Ele possui a seguinte estrutura
geral:
Listagem 9 – Comando WHILE
A Listagem 10 apresenta um exemplo do comando WHILE. No caso, temos um método que inicia uma contagem de 0 a 99 para servir de temporizador para chamar
outro método que trava as portas do automóvel. Nesse caso, “enquanto” o contador for menor que 100, o método disparaTravaPortas()nãoserá executado. E ainda
quando executado será exibido cada valor do contador antes de ser incrementado. Vale observar que a instruçãocontador++(linha 07) representa o incremento da
variável inteiracontadorem uma unidade, o que significa que sempre que essa linha é executada o valor da variávelcontador passa a ser o seu valor atual mais uma
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
5 of 10 08/19/2013 05:06 PM
unidade.
Listagem 10 – Exemplo comando WHILE
Atividade 3
Crie um método dentro de uma classe chamada OperacoesNumericas, usando o comando WHILE que possua um contador que vá de 100
(cem) até 0 (zero) e imprime apenas os números pares.
1.
Comando DO-WHILE
O comando DO-WHILE tem a mesma finalidade do comando WHILE com apenas uma diferença. A diferença é que com o comando WHILE a condição de teste é
efetuada antes de executar uma instrução ou bloco de instruções, já com o comando DO-WHILE a condição de teste só será efetuada depois de executar instrução
ou bloco de instruções. A Listagem 11 apresenta a forma geral do comando.
Listagem 11 –Estrutura geral do comando DO-WHILE
Para entendermos melhor a diferença, vejamos primeiro o exemplo usando WHILE. Para a nossa classe Automóvel, considere que para ligar o automóvel é preciso
que o usuário entre através do método acesso com uma senha num teclado do painel do carro.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
6 of 10 08/19/2013 05:06 PM
Listagem 12 – Exemplo com o WHILE
Observe, na Listagem 12, que após a senha digitada (linha 10), se a senhaDigitadafor diferente dasenha (=100), o programa entra no WHILE e repetidas vezes pede a
senha (linhas 12 e 13) até que o usuário digite a senha correta. Para só então exibir a mensagem de “Acesso Permitido” e chamar o método ligarAutomovel().Nesse
caso, como o teste do WHILE é executado antes das instruções, nosso método tem as linhas 9 e 10 idênticas às linhas 12 e 13.
Agora, veja na Listagem 13 o mesmo exemplo usando o DO-WHILE. Observe nesse exemplo, que agora não é necessário repetir as linhas 10 e 11, porque o teste é
efetuado depois de pedir a senha. E ainda assim funciona exatamente como o comando WHILE.
Listagem 13 – Exemplo com o DO-WHILE
Comando FOR
Quando usamos os comandos de repetição WHILE e DO-WHILE controladas por contadores muito usualmente, temos que criar uma variável de controle e iniciar
essa variável antes dos comandos. Dentro do bloco dos comandos, essa variável terá seu valor modificado para ser comparada na condição de teste.
O comando FOR já possui uma estrutura especializada para a implementação de repetição controlada por contadores, que agrupa a inicialização do contador,
modificação do contador e condição de teste em um único comando. A Listagem 14 apresenta a estrutura geral do comando FOR.
Na inicialização,é onde se define o valor inicial para o contador. Nacondição,é onde efetuamos o teste de repetição. E opassoé onde o contador sofre a modificação a
cada iteração, normalmente o contador pode ser incrementado ou decrementado. O comando FOR é interrompido apenas quando a condição de teste tem resultado
falso.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
7 of 10 08/19/2013 05:06 PM
Listagem 14 – Comando FOR
A Listagem 15 apresenta um exemplo concreto do Comando FOR. Observe que usamos o mesmo exemplo do comando WHILE apresentado na Listagem 10, mas o
código ficou mais enxuto devido à estrutura do FOR.
Listagem 15 –Exemplo do comando FOR
Anote a Dica
Use o comando WHILE e DO-WHILE quando não se sabe quando vai terminar a repetição. Normalmente, quando não são necessários contadores.
E o comando FOR quando se tem bem definido no términodo ciclo de repetição. Normalmente, quando os contadores são necessários.
Por exemplo : o FOR não seria muito adequado para implementar os exemplos de leitura de senha a partir do teclado (Listagens 13 e 14).
Listagem 15 – Comando FOR aninhado
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
8 of 10 08/19/2013 05:06 PM
O FOR Aninhado é usado quando se deseja trabalhar com a modificação do passo de dois (ou mais) contadores. Por exemplo: quando se deseja percorrer as
informações contidas em matrizes.
Comando FOR para vetores e coleções
O comando FOR possui outra estrutura, quando se trabalha com vetores ou coleções (do inglês: Arrays e Collections). Vejamos em um trecho de código um exemplo
dessa estrutura.
Listagem 16 – Comando FOR para vetores e coleções
Observe que aqui a ideia de contador está implícita e existe uma variável do mesmo tipo do vetor (variável item do tipo int no exemplo) ou o item da coleção é que
recebe uma nova informação a cada interação até passar por todos os itens do vetor.
Atividade 4
Usando o comando FOR, crie uma classe qualquer, que possua diferentes métodos que faça os seguintes tipos de contagem.
a) Contagem e exibição crescente para um dado número inicial e final.
b) Contagem e exibição decrescente para um dado número inicial e final.
c) Contagem e exibição de números PARES para um dado número inicial e final.
d) Contagem e exibição de números ÍMPARES para um dado número inicial e final.
e) Contagem e exibição de números de passo 2 (contador varia de 2 em 2, ou seja, é incrementado em 2 a cada rodada do
comando FOR) para um dado número inicial e final.
f) Contagem e exibição de números de passo 3 (contador varia de 3 em 3, ou seja, é incrementado em 3 a cada rodada do
comando FOR) para um dado número inicial e final.
g) Contagem e exibição de números de passo 5 (contador varia de 5 em 5, ou seja, é incrementado em 5 a cada rodada do
comando FOR) para um dado número inicial e final.
h) Não deixe de criar um método main() na sua classe para fazer uma chamada de teste para cada um dos métodos acima.
1.
Leitura Complementar
Neste artigo, você verá o assunto da aula de hoje, explicado de outra forma e com algumas informações que não foram abordadas nesta aula.
<http://javafree.uol.com.br/artigo/6946/Cap-4-Controle-de-Fluxo.html>
Resumo
Na aula de hoje, você viu quais são os comandos de fluxo de controle e de repetição da linguagem Java. Estudou as estruturas de cada comando sempre
acompanhadas de exemplo concretos, contemplando também alguma de suas variações.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
9 of 10 08/19/2013 05:06 PM
Autoavaliação
1 - Quais são os comandos de controle de fluxo existentes na linguagem Java?
2 - Quando devemos usar os comandos de controle de fluxo?
3 - Quais são os comandos de repetição existentes na linguagem Java?
4 - Quando devemos usar os comandos de repetição?
Referências
THE JAVA Tutorials. Disponível em: <http://java.sun.com/docs/books/tutorial/index.html>. Acesso em: 17 maio 2010.
Voltar Imprimir Topo
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
10 of 10 08/19/2013 05:06 PM

Outros materiais