Arrays
Os arrays em Java são objetos que armazenam múltiplos valores do mesmo tipo numa única variável.
Características dos arrays em Java
- Tamanho Fixo: Uma vez que um array é criado, o seu tamanho é fixo e não pode ser alterado.
- Acesso Indexado: Os elementos de um array podem ser acedidos usando um índice, começando no 0 para o primeiro elemento.
- Dados Homogéneos: Todos os elementos de um array devem ser do mesmo tipo (por exemplo, int, String, boolean, etc).
Declaração de um array
Os arrays são declarados como qualquer variável, indicando o seu tipo de dados seguido de parênteses rectos e o nome do array, ou o seu tipo de dados seguido do nome do array e parenteses rectos:
int [] idades;
ou
int idades[];
Inicialização de um array
Quando declaramos um array podemos, de imediato, inicializa-lo, isto é, preenche-lo com
valores:int[] lista = {10, 12, 33, 23, 56, 67, 89, 12};
Quando declaramos e inicializamos de imediato um array não necessitamos de explicitar o seu
tamanho uma vez que o compilador depreende esse valor pelo número de elementos com o
inicializámos.
Para construir um array, não inicializado, na declaração, fazemo-lo com a palavra
reservada new.:
int [] idades = new int[20];
a palavra-reservada new constrói o array.
Aceder aos elementos de um array
Acedemos a um elemento de um array através do seu índice. Os índices de um arrays começam
no zero e vão ao número de elementos do array – 1.
Exemplo:
int [] numeros = new int[20];
//colocamos valores em alguns elementos do array
numeros[2] = 7;
numeros[6] = 46;
numeros[12] = 34;
//obtemos o valor de um elemento do array:
int num = numeros[6];
NOTA: se tentarmos aceder a um elemento de um array para além dos seus limites, é
levantada uma excepção ArrayIndexOutOfBoundsException.
Tamanho de um array
Podemos obter o tamanho, ou seja o numero de elementos, de um array, em tempo de
execução, através da propriedade length do array:
String [] nomes = {"Pedro", "Rita", "Joana", "Ricardo", "Maria", "Carlos"};
System.out.println(“Tamanho do array: ” + nomes.length); //output 6
Percorrer um array
Para percorrer um array, usamos uma estrutura de repetição, normalmente o ciclo for:
int nums[] = {10, 20, 30, 40, 50, 60};
for(int i=0; i < nums.length; i++){
System.out.println(nums[i]);
}
Também podemos percorrer o array com um ciclo for-each:
int nums[] = {10, 20, 30, 40, 50, 60};
for(int nr: nums )
System.out.println(nr);
}
Arrays bidimensionais
Um array bidimensional é um array dentro de outro array. Cada um dos seus elementos é
identificado por dois índices distintos.
Declaramos arrays bidimensionais da seguinte maneira:
// array inteiro de 512 x 128 elementos
int [][] twoD = new int[512][128];
// array de String de 4 linhas x 2 colunas
String [][] dogs = {{"bobby", "castanho"},
{"laica", "branco"},
{"oscar", "cinzento"},
{"bolinha", "preto}};
Para acedermos a um elemento de um array bidimensional, usamos dois índices, o primeiro
referencia a linha e o segundo a coluna:
String [][] dogs =
{
{"bobby", "castanho"},
{"laica", "branco"},
{"oscar", "cinzento"},
{"bolinha", "preto}
};
System.out.println(“Dog: “ + dogs[2][1]); //Output: "cinzento"
Para percorremos um array bidimensional, podemos usar dois ciclos for encadeados: um, exterior,
percorre as linhas e o outro, interior, percorre as colunas de cada linha:
//for que percorre as linhas
for (int i = 0; i < dogs.length; i++) {
//for que percorre as colunas de cada linha
for (int j = 0; j < dogs[i].length; j++) {
System.out.print(dogs[i][j] + " ");
}
}
