Sem07 T4 Array
Sem07 T4 Array
1
Array unidimensional
Arrays de tipos de dados primitivos
Os programas que desenvolvemos até aqui têm usado as variáveis de todos os tipos
de dados de tamanho limitado. Num dado momento cada variável só pode conter um
único valor.
Mas existem casos quando a quantidade de valores a serem tratados é elevada. Para
isso podem ser utilizados arrays.
Criação
Um array é um objecto que contém uma lista de elementos do mesmo tipo e ocupa
um espaço na memória. Este conjunto de elementos é referenciado pelo um único
nome do array.
Para criar um array em primeiro lugar é necessário declarar a referência para o array.
Por exemplo, para declarar um array de notas de alunos:
byte notas[]; ou byte [] notas;
Uma vez obtida a referência, é possível criar o array. Todos os objectos em Java
(inclusive arrays) devem ser alocados dinamicamente com o operador new:
notas = new byte[50]; //aloca o espaço para array
Esta instrução cria um novo objecto com espaço para armazenar 50 números do tipo
byte. Os 50 elementos ficam em posições consecutivas na memória e o endereço
(é representado pelo símbolo @) do primeiro elemento fica armazenado na referência
notas. 2
notas
O programador não terá que se preocupar com o endereço de memória onde fica cada
elemento do array, pois acesso será feito através de índices.
Para criar um array podemos unir as duas instruções:
byte notas[]= new byte[50];
O número entre parênteses rectos define o espaço de memória reservado para o array,
que não significa que o array tenha que conter sempre esse número de elementos,
podendo conter qualquer valor inferior, inclusivamente zero.
Por exemplo, a declaração do array notas poderia ter sido feita depois de solicitar ao
utilizador o número de notas a armazenar:
System.out.println("Intr. o número de notas a armazenar: ");
quant = Integer.parseInt(x.readLine());
byte notas[] = new byte[quant]; 3
Podemos alocar memória para vários arrays do mesmo tipo com uma única
declaração. A declaração seguinte reserva 100 elementos para o array b e 27
elementos para o array x cujos elementos são do tipo float:
Java permite a criação e inicialização de um array usando uma forma abreviada, por
exemplo:
byte diasMes[] = {31,28,31,30,31,30,31,31,30,31,30,31};
Esta instrução cria um array com espaço suficiente para os dados fornecidos,
procedendo também à sua inicialização.
Comprimento do array
Todos os array em Java “conhecem” seu próprio comprimento e mantém essa
informação numa variável denominada length que guarda o número de elementos
com que o array foi criado.
Por exemplo:
byte[] notas = new byte[50];
System.out.println("Numero maximo de notas é "+notas.length);
4
Exemplo de armazenamento de informação num array de N inteiros:
import java.io.*;
public class CriarArray
{ public static void main(String args[])throws IOException
{ BufferedReader b =
new BufferedReader(new InputStreamReader(System.in));
9
Array bidimensional
Um array unidimensional pode armazenar elementos de tipos simples e
também elementos que são objectos. Um caso particular quando cada
elemento de array é um array, criando-se assim um array bidimensional, ou
matriz, com linhas e colunas.
precos
[0] [1]
10
Cada elemento do array bidimensional pode ser acedido através de dois
índices, um que indica a linha e outro a coluna.
É possível obter:
Para aceder aos elementos do array deve se utilizar dois ciclos for, um
dentro do outro. O primeiro serve para fazer variar linhas e o segundo para
fazer variar colunas.
14
Referência bibliográfica:
António José Mendes; Maria José Marcelino.
“Fundamentos de programação em Java 2”. FCA. 2002.
Carriço, José; Carriço, António.
"Computadores, Tecnologias e sistemas de Informação- O Núcleo de Sistema“.
Centro de Tecnologias de Informação Ltd. Lisboa. 1997
Carriço, José; Carriço, António.
"Computadores, Tecnologias e sistemas de Informação- Periféricos, Internet e multimédia“.
Centro de Tecnologias de Informação Ltd. Lisboa. 1997.
Carriço, José; Carriço, António.
"Computadores, Tecnologias e sistemas de Informação- Tecnologias de Software“.
Centro de Tecnologias de Informação Ltd. Lisboa.1997.
Elliot Koffman; Ursula Wolz.
“Problem Solving with Java”. 1999.
John R. Hubbard.
“Theory and problems of programming with Java”. Schaum’s Outline series. McGraw-Hill.
H. Deitel; P. Deitel.
“Java, como programar”. 4 edição. 2003. Bookman.
Rui Rossi dos Santos.
“Programando em Java 2– Teoria e aplicações”. Axcel Books. 2004
15