03-Arrays em Java
03-Arrays em Java
Arrays (Vetores)
} Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo
tempo... é melhor...
} Declarar 100 variáveis (1 para cada pessoa)... ou
} Declarar apenas 1 variável (um vetor com 100 nomes)?
Arrays (Vetores)
} Armazenam um conjunto de itens do mesmo tipo (ou classe)
em uma mesma variável.
} Os itens são armazenados em forma de tabelas;
} Referenciados por índices numéricos;
0 1 2 3
profs Índices
1
28/04/15
} Ex:
String[] nomes = new String[100];
int[] contVotos = new int[23];
double medias[] = new double[40];
} Ex:
2
28/04/15
<identificador>[índice]
} Exemplos
contVotos[0] = 12;
profs[3] = "hacks";
media[10] = 9.25;
totalVotos += contVotos[5];
contVotos[1]++;
Comprimento de arrays
} Para acessar o n o de elementos utilize:
<identificador>.length
} Exemplo:
3
28/04/15
Exercício 1
} Parâmetro String []args do método main é um array.
4
28/04/15
Cópia de Arrays
} Quando se atribui uma variável array a outra... ambas as
variáveis irão se referir ao mesmo array
} Por quê? a 2
3
b 5
7
12
Cópia de Arrays
} Para copiar os valores de um array para outro array, use:
Array a Tamanho do
ser copiado novo array
5
28/04/15
Arrays Multidimensionais
} Permitem a criação de vetores com mais de um índice
} Valores armazenados em forma de matrizes;
} Ex:
float notas[][] = new float[5][2];
Arrays Multidimensionais
} São “arrays de arrays”
7.5 notas[0][0]
7.0 notas[0][1]
notas
notas[1] 9.0 notas[1][0]
notas[2] 6.8 notas[1][1]
notas[3]
notas[4] 7.0 notas[2][0]
8.5 notas[2][1]
10.0 notas[3][0]
10.0 notas[3][1]
10.0 notas[4][0]
9.5 notas[4][1]
6
28/04/15
Arrays Multidimensionais
} Loops “for each” não fazem loop nos elementos de um array
bidimensional automaticamente
} Faz loop pelas linhas (que são arrays unidimensionais)
Exercício 01
} Suponha que se deseje processar um conjunto de valores
representado altura e sexo (M/F) de um grupo de 10
pessoas. Escreva um programa em Java que:
(a) Leia este conjunto de dados e armazene-o em dois arrays
vinculados, um dos quais contém as alturas e o outro contém os
sexos dos indivíduos.
(b) Determine a maior e a menor altura dentre esses indivíduos,
indicando o sexo do indivíduo de maior altura e o sexo do indivíduo
de menor altura.
(c) Encontre a média de altura entre os indivíduos do sexo feminino
(representados no programa pelo caractere 'F') e a média de altura
entre os indivíduos do sexo masculino (representados no programa
pelo caractere 'M').
(d) Determine o número total de indivíduos de cada sexo.
7
28/04/15
Exercício 02
} Escreva um programa em Java que solicita ao usuário
para introduzir n valores inteiros, lê estes números e
apresenta, logo antes de encerrar, o seguinte:
(i) Todos os números introduzidos
(ii) O menor valor introduzido
(iii) O maior valor introduzido
(iv) A média dos valores introduzidos.
Exercício 03
} Escreva um programa que lança um dado n vezes e imprime o
percentual de surgimento de cada face do dado. O valor n é
introduzido pelo usuário, sendo que 0 encerra o programa. Seu
programa deverá utilizar um array para armazenar os números
de aparecimento de cada face. Aproveite-se deste fato para
evitar o uso de instruções condicionais (switch ou if) no
cálculo dos percentuais.