O tipo de dados array permite
- representar, num só objeto, vários valores do mesmo tipo e
- aceder a cada um desses valores diretamente, bastando para isso saber qual o índice, ou posição, em que se encontra no array.
Podemos ter arrays de int
, de boolean
, de String
, etc; na verdade, os elementos de um array podem ser de qualquer tipo de dados, primitivo ou não primitivo.
Em termos sintáticos, representamos o tipo de dados array de elementos do tipo T
, para algum tipo T
, por T[]
, ou seja, o nome do tipo T
seguido de parêntesis retos.
Os exemplos seguintes são ilustrativos de declarações de variáveis do tipo array:
int[] notas; // um array de inteiros
boolean[] permissoes; // um array de boolean
String[] nomes; // um array de String
Como sabe, até serem inicializadas, estas variáveis têm um valor indefinido.
Como com qualquer tipo não primitivo, os valores a atribuir a estas variáveis têm que ser referências para objetos; neste caso os objetos serão arrays cujos elementos têm um tipo específico (int
, boolean
e String
, respetivamente).
A criação de um array faz-se
new
xxxxxxxxxx
notas = new int[4];
int quantos = 3;
permissoes = new boolean[quantos];
nomes = new String[quantos * 2];
As instruções acima têm como efeito:
int
, boolean
e String
, respetivamente) e notas
, permissoes
e nomes
.A primeira instrução tem como efeito a criação de um array de inteiros com 4 elementos e a atribuição à variável notas
de uma referência a esse array.
A terceira instrução tem como efeito a criação de um array de boolean
com 3 elementos e a atribuição à variável permissoes
de uma referência a esse array.
Na última instrução é criado um array de String
s com 6 elementos e uma referência a esse array é atribuída à variável nomes
.
Se não experimentou executar o programa acima, pode ver ilustrada na figura seguinte a representação das variáveis notas
, permissoes
e nomes
, cujo conteúdo são referências a arrays dos tipos correspondentes às definições.
Na representação que adotámos,
notas
está abreviada; os seus segundo e terceiro elementos não aparecem);Quando um array é criado, os seus elementos são inicializados com um valor que depende do seu tipo:
int
, double
, long
, float
, etc), false
para boolean
, null
para tipos não primitivos.Repare que este programa cria os arrays mas não faz nada de útil com eles. Este é apenas um exemplo de declaração e inicialização de arrays. Tal como com qualquer variável, normalmente os programas usam arrays para armazenar valores em memória de modo a poderem ser usados sempre que necessário.
Podemos ainda criar um array indicando explicitamente quais os valores que cada um dos seus elementos vai tomar.
Exemplo:
xxxxxxxxxx
double[] distancias = {12.3 , 20.0 , 1.11 , 4.55 , 4.4 , 6.6};
A seguinte figura ilustra a representação da variável distancias
.
Por analogia com a Matemática, também nos referimos aos arrays unidimensionais (mais sobre isto mais à frente) usando a designação de vetores.
Anterior: 9. Arrays
Seguinte: 9.2. Acesso aos elementos de um array