Anda di halaman 1dari 7

Aula 6 Utilizando vetores e matrizes

Objetivos
Diferenciar vetores e matrizes. Demonstrar a praticidade de utilizao de vetores. Apresentar as vantagens de usar arrays.

6.1 Denio de array


Em determinados rotinas de programa torna-se necessrio manipular diversas variveis de um mesmo tipo de dado, por exemplo, manipular ao mesmo tempo 100 nomes de pessoas. Em vez de realizar a declarao de 100 variveis, possvel a declarao de apenas uma: trata-se de uma varivel denida como um vetor (array) de nomes. O array possibilita armazenar diversos valores em uma nica varivel, alm do armazenamento de vrios objetos. Esses diversos itens so armazenados em forma de tabela de fcil manipulao, sendo diferenciados e referenciados por um ndice numrico. Os arrays esto presentes em praticamente todas as linguagens de programao e constituem um dos aspectos mais importantes e facilitadores no desenvolvimento de aplicaes. Em Java, os arrays so estruturas que permitem armazenar uma lista de itens relacionados.
Os arrays so utilizados para armazenar um conjunto que tenham o mesmo tipo de dado primitivo ou a mesma classe.

6.2 Arrays unidimensionais


Os arrays unidimensionais so os que possuem apenas um ndice para acessar seu contedo. Eles so declarados da seguinte maneira: Tipo_de_dado nome_array[] = new tipo_dado[quantidade];

Aula 6 Utilizando vetores e matrizes

83

e-Tec Brasil

Tipo_do_dado: pode ser qualquer tipo de varivel primitiva ou classe; Nome_array: um nome qualquer vlido, da mesma forma que os nomes das variveis. Por exemplo: Int n[]=new int[100]; String mes[]=ney string[12]; Veja o Exemplo0601 que mostra a utilizao de um array para armazenar um conjunto de argumentos do tipo inteiro, passado pelo usurio na linha de execuo (Figuras 6.1 e 6.2).

Figura 6.1: Exemplo0601


Fonte: Elaborada pelo autor

O Exemplo0601 recebe diversos nmeros na linha de comando (no Mximo dez) e armazena-os em um array de nmeros inteiros. Isso no realizado diretamente, pois inicialmente os nmeros so armazenados no array args(um valor de strings). O lao FOR se encarrega de converter os elementos do array, um a um. Armazenados no array n, os elementos so totalizados pela varivel total.

e-Tec Brasil

84

Tcnicas de Programao

Figura 6.2: Execuo do programa Exemplo0601


Fonte: Elaborada pelo autor

Os arrays podem ser criados e inicializados simultaneamente. Em vez de usar o operador new para criar um objeto array, preciso colocar os elementos do array entre chaves e separados por vrgula. Esses elementos dentro das chaves devem ser do mesmo tipo que a varivel que contm o array. Os arrays criados dessa forma tm o mesmo tamanho do nmero de elementos colocados entre chaves. A sintaxe caria assim: Tipo de dado nome_array[] = (valores separados por vrgula) O Exemplo0602 a seguir demonstra como usar essa declarao e utiliza tambm o mtodo valueOf() para manipular o contedo de um array de caracteres (Figuras 6.3 e 6.4).

Figura 6.3: Exemplo0602


Fonte: Elaborada pelo autor

Existe uma diferena bsica na atribuio de valores aos arrays de caracteres e de strings: nos arrays de caracteres so utilizados apstrofos para cada caractere declarado; j para os arrays de strings so utilizadas as aspas duplas. O mtodo valueOf() pode ser utilizado para apresentar todos os elementos de um array de caracteres ou um trecho dele.

Aula 6 Utilizando vetores e matrizes

85

e-Tec Brasil

Figura 6.4: Execuo do programa Exemplo0602


Fonte: Elaborada pelo autor

6.3 Arrays bidimensionais


Os arrays bidimensionais permitem a criao de vetores com mais de um ndice. Essa caracterstica possibilita que os valores sejam armazenados na forma de matriz de qualquer dimenso. A linguagem Java no suporta array bidimensional no formato linha e coluna como em outra linguagem; entretanto, possvel criar array de arrays. Esses arrays devem ser declarados da seguinte maneira: Tipodedado nome_array[][] = new tipo_dado [ndice][ndice]; O Exemplo0603 a seguir demonstra o array bidimensional para coletar duas notas de trs alunos. Uma vez armazenadas, o programa solicita ao usurio o nmero de um aluno para mostrar suas notas e a mdia do grupo de alunos (Figuras 6.5 e 6.6).

Figura 6.5: Exemplo0603


Fonte: Elaborada pelo autor

e-Tec Brasil

86

Tcnicas de Programao

So coletadas e armazenadas duas notas de trs alunos no array no formato de uma tabela. A nota fornecida pelo usurio armazenada no vetor de notas.

Figura 6.6: Execuo do programa Exemplo0603


Fonte: Elaborada pelo autor

6.4 Passagem de arrays em mtodos


possvel a criao de mtodos que recebem valores, manipulam esses valores e retornam um resultado. Na passagem desses valores pode ser usado qualquer tipo de varivel. Da mesma forma, possvel tambm criar mtodos com passagem retorno de arrays. O funcionamento basicamente o mesmo: quando o mtodo invocado, um array qualquer passado, o qual manipulado internamente pelo mtodo e depois retornado. A sintaxe para um mtodo que recebe e retorna um array : public static tipo_array[] nome_metodo (tipo_array nome_array[]) O Exemplo0604 a seguir mostra um mtodo que recebe um array do tipo inteiro, organiza seus elementos e o retorna em ordem crescente (Figuras 6.7 e 6.8).

Aula 6 Utilizando vetores e matrizes

87

e-Tec Brasil

Figura 6.7: Exemplo0604


Fonte: Elaborada pelo autor

Figura 6.8: Execuo do programa Exemplo0604


Fonte: Elaborada pelo autor

6.5 Array de objetos


Da mesma forma que variveis primitivas, possvel criar um array para armazenamento de objetos. Isso muito importante na linguagem Java, pois permite realizar as mesmas operaes com diversos objetos do mesmo tipo. O Exemplo0605 demonstra a utilizao de um array de objetos, aproveitando-se da funcionalidade de uma classe pessoa, conforme mostrado nas Figuras 6.9 e 6.10 a seguir.

e-Tec Brasil

88

Tcnicas de Programao

Figura 6.9: Exemplo0605


Fonte: Elaborada pelo autor

Observe que se os objetos fossem tratados de forma individual, isto , cada um com nome diferente, seriam necessrias 100 linhas de cdigo, uma para cada objeto.

Resumo
Nesta aula falamos sobre as principais formas de utilizao de arrays em Java, desde as estruturas mais simples at estruturas complexas para tratar dados. Apresentamos as vantagens de usar arrays na manipulao de objetos e trabalhamos com conceitos que permitem ao programador desenvolver aplicaes mais consistentes e com cdigo reduzido.

Atividades de aprendizagem
1. Crie uma classe que leia dez valores inteiros quaisquer e imprima na tela os que so maiores que a mdia dos valores coletados. 2. Elabore uma classe que colete uma indenida quantidade de nmeros inteiros pela linha de execuo e no nal mostre o menor e o maior nmero fornecidos. 3. Faa uma classe que colete dez nomes de pessoas e os armazene em um array. No nal verique se uma determinada pessoa foi cadastrada no array, informando o usurio. 4. Uma escola precisa de um programa que controle a mdia das notas de cada classe e a mdia das notas de todos os alunos da escola. Considerando que essa escola possui trs classes com cinco alunos em cada classe, gerando um total de 15 alunos, crie uma classe que receba as notas de cada aluno e no nal mostre a mdia da classe e a mdia da escola em geral.

Aula 6 Utilizando vetores e matrizes

89

e-Tec Brasil

Anda mungkin juga menyukai