Buscar

LPI 05 - Array - Comandos Condicionais e de Iteração

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 5 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

Prévia do material em texto

Linguagem de Programação I
Array
Comandos Condicionais e de Iteração
Joinvile Batista Junior
UFGD - LPI 05 - Joinvile Batista Junior 22
Array é uma Classe Implícita
Array é uma classe implícita
• a classe Array é construída automaticamente
– não está definida em nenhum pacote
• permite acessar a variável pública length (comprimento do array)
• passagem de parâmetro por referência
– como qualquer outro objeto
Intervalo de índices de array é fixo
• varia de 0 a length – 1
UFGD - LPI 05 - Joinvile Batista Junior 33
Criando, Inicializando e Definindo Métodos
Criação de objetos de Array
• de tipos primitivos
– criando um array de inteiros com 3 elementos
• int[ ] vetInt = new int[3];
– criando o array de inteiros e inicializando com 3 elementos
• int[ ] vetInt = { 31, 10, 1957 };
• de classes
– criando um array de Strings com 7 elementos
• String[ ] diasSemana = new String[7];
– criando o array de Strings e inicializando com 7 elementos
• String[ ] diasSemana = { “segunda”, ... , “domingo” };
Definindo métodos com tipo Array
• tipo de parâmetro e tipo de retorno do método invertArray
– int[ ] invertArray (int[ ] vetor) { }
UFGD - LPI 05 - Joinvile Batista Junior 44
Definindo Arrays Multidimensionais
Arrays multidimensionais
• criando um array de inteiros de 2 dimensões: a primeira dimensão de 
comprimento 3 e a segunda dimensão de comprimento 7
– int[ ] [ ] matriz = new int[3][7];
• atribuindo o valor 8 ao índice 2 e 5
– matriz[2][5] = 8;
UFGD - LPI 05 - Joinvile Batista Junior 55
Comandos Condicionais
if .. else
• if (condição_booleana) { bloco_then } else { bloco_else }
• parte else é opcional
switch .. case
• switch (expressão) {case valor1: bloco1 break; ... default: bloco_def ;}
• expressão : deve resultar em valor inteiro ou enumerado
– tipos enumerados serão estudados posteriormente
• case valor1 : se expressão resultar no valor1, executa o bloco1
• break : finaliza a execução do switch
– na sua ausência continua a execução do bloco do próximo case
• default : se a expressão não resultar em nenhum dos valores 
associados ao cases anteriores executa o bloco default
UFGD - LPI 05 - Joinvile Batista Junior 66
Comandos de Iteração
for
• for (inicialização; teste; atualização) { bloco_for };
– inicialização : define variável de controle local e inicializa
– teste : testa variável de controle e permanece no loop enquanto o 
resultado do teste for true
– atualização : atualiza o valor da variável de controle
• exemplo de loop crescente: for (int cont = 0; cont < 10; i++)
– i++  i = i + 1
• exemplo de loop decrescente: for (int cont = 10; cont > 0; i--)
– i-- i = i - 1
while
• teste no início da iteração
– while (condição_booleana) { bloco_while }
• teste no fim da iteração
– do { bloco_do } while (condição_booleana); 
UFGD - LPI 05 - Joinvile Batista Junior 77
Utilizando constantes em tipos enumerados
• O modificador final pode ser utilizado para definir constantes
• Um tipo enumerado pode ser definido a partir de constantes. O comando 
switch pode ser utilizado para atribuir um tratamento específico para 
cada valor do tipo enumerado.
int cor;
final int AMARELA = 1, VERDE = 2, VERMELHA = 3;
switch (cor) {
case AMARELA:
// tratamento para cor amarela
break;
case VERDE:
// tratamento para cor verde
break;
case VERMELHA:
// tratamento para cor vermelha
break;
default:
// tratamento para outra cor
}
UFGD - LPI 05 - Joinvile Batista Junior 88
Definindo uma Classe Aluno para Indexar em Array
package entidade;
public class Aluno {
private String nome;
private int idade;
public Aluno (String nome, Endereço endereço) {
this.nome = nome; 
this.idade = idade;
}
public String getNome () { return nome; }
public void setNome (String nome) { this.nome = nome; }
public Endereço getIdade () { return idade; }
public void setIdade (int idade) { idade = idade; }
}
UFGD - LPI 05 - Joinvile Batista Junior 99
Manipulando Array com Objetos da Classe Aluno
package controle;
import entidade.Aluno;
public class Principal {
static Aluno[] alunos = new Aluno[4];
public static void main (String[] args) {
inicializaAlunos ();
imprimeAlunosMaiores ();
}
private static void inicializaAlunos () {
alunos[0] = new Aluno ("Tatiana", 22);
alunos[1] = new Aluno ("Roberta", 17);
alunos[2] = new Aluno ("Paula", 25);
alunos[3] = new Aluno ("Samanta", 19);
}
private static void imprimeAlunosMaiores () {
for (int n = 0; n < alunos.length; n++) {
if (alunos[n].getIdade < 21) {
System.out.println (aluno[n].getNome() + " tem " + aluno[n].getIdade() + "anos");
}
}
}
}
UFGD - LPI 05 - Joinvile Batista Junior 1010
Exercícios - 5
• 5.1 – Altere o programa inicial da seguinte forma : inclua o atributo sexo na classe 
Aluno (alterando também o construtor e criando o par de métodos de leitura e 
escrita), crie mais 2 alunos do sexo masculino e substitua o método 
imprimeAlunosMaiores pelo método imprimeAlunos (que recebe como 
argumentos: sexo, idade_min e idade_max). Utilize no método imprimeAlunos uma 
iteração decrescente para o comando for.
• 5.2 – Crie o método imprimeCorPreferida recebendo cor como parâmetro e o 
chame no programa principal, de forma a imprimir uma cor. Utilize um comando 
switch neste método para imprimir a cor preferida.
• 5.3 – Edite um programa com as seguintes entidades: Aluno (com atributo nome e 
referência a array de disciplinas), Disciplina (com atributos: titulo e n_creditos), e 
uma classe Principal (que crie 2 alunos e 4 disciplinas, associe 2 disciplinas por 
aluno, e imprima para cada nome de aluno o nome de suas disciplinas).

Outros materiais