Laboratório II
Mateus Raeder
Arrays unidimensionais
Arrays unidimensionais são objetos que permitem ao programador
armazenar diversas variáveis do mesmo tipo
Estas variáveis podem ser tanto tipos primitivos (int, char, ...) como
outros objetos
Array de “int”
0
1
2
3
4
5
6
7
8
9
Array de “char”
A
B
C
D
E
F
G
H
I
J
Ana
Rick
André
Rê
Sofia
Array de “Pessoa”
Pedro João
Prof. Mateus Raeder – Laboratório II
Maria
José
Milton
Arrays bidimensionais
A estrutura de arrays bidimensionais, também permite o armazenamento
de diversas variáveis, porém, com uma estrutura similar a uma matriz:
Estas variáveis podem ser tanto tipos primitivos (int, char, ...) como outros
objetos
Prof. Mateus Raeder – Laboratório II
Arrays bidimensionais
Array bidimensional de int
1
4
8
0
67
9
1
8
7
8
0
23
1
12
0
0
1
55
5
4
86
6
8
10
9
0
67
23
19
7
23
9
12
4
1
132
4
Array bidimensional de boolean
true
true
true
false
true
true
true
true
false
false
true
false
true
true
true
true
8
0
2
Array bidimensional de Pessoa
Antonio
Luiz
Diego
Dover
Maycon Michele
Prof. Mateus Raeder – Laboratório II
Jefferson Karoline Leonardo Leonardo
Pedro
Rafael
Rovian
Shayane
Arrays bidimensionais
Cada item do array bidimensional é chamado de elemento
Os elementos de um array bidimensional são associados a uma posição
numérica (um par de valores)
“colunas”
do array
0
“linhas”
do array
1
0
1
2
Antonio
Diego
Dover
Luiz
Maycon Michele
3
4
5
6
Jefferson Karoline Leonardo Leonardo
Pedro
Rafael
Rovian
Shayane
2 linhas por 7 colunas
Um array bidimensional pode ser visto como um array de arrays
Prof. Mateus Raeder – Laboratório II
Declarando arrays bidimensionais
Arrays bidimensionais armazenam variáveis de um determinado tipo, e
sua declaração ocorre da mesma forma de uma variável “comum”,
porém utilizando um par de “[ ]” (colchetes) para a sua identificação.
int[][] valorTotal;
tipo do array
nome do array
ou
int valorTotal[][];
Desta forma, arrays de qualquer tipo podem ser declarados:
char[][] charArray;
String[][] stringArray;
double[][] doubleArray;
float[][] floatArray;
Prof. Mateus Raeder – Laboratório II
boolean[][] booleanArray;
long[][] longArray;
byte[][] byteArray;
short[][] shortArray;
Declarando arrays bidimensionais
Exemplos:
int[][] tamanho; //declara um array de inteiro
double[][] nota; //declara um array de double
char[][] letra; //declara um array de char
Pessoa[][] p1; //declara um array de Pessoa
Carta[][] c1; //declara um array de Carta
Prof. Mateus Raeder – Laboratório II
Declarando e inicializando arrays bidimensionais
Porém, declarar um array bidimensional não significa criá-lo efetivamente
para utilização.
A declaração indica ao compilador que existe um array bidimansional de
determinado tipo e com determinado nome.
Após a declaração, como fazer com que um array possa ser utilizado?
indicar a quantidade de elementos do array bidimansional
valorTotal = new int[10][2];
cria o array
Prof. Mateus Raeder – Laboratório II
número
de linhas
número
de colunas
Inicializando arrays bidimensionais
Exemplos:
int[][] tamanho = new int[4][4];
tamanho
int[]
double[][] nota = new double[3][3];
0 1 2
char[][] letra = new char[23][2];
Pessoa[][] p1 = new Pessoa[2][7];
Carta[][] c1 = new Carta[4][48];
Prof. Mateus Raeder – Laboratório II
0
1
2
3
3
Inicializando arrays bidimensionais
É aconselhável inicializar os valores de cada elemento do array de
acordo com a necessitade/vontade, atribuindo valores para todos os seus
elementos:
valorTotal[0][0] = 26;
valorTotal[0][1] = 296;
valorTotal[0][2] = 11;
...
valorTotal[9][9] = 1997;
ou
for(int linha=0; linha<10; linha++)
for(int coluna=0; coluna<10; coluna++)
valorTotal[linha][coluna] = 0;
Pode-se também declarar, criar e inicializar arrays diretamente, da
seguinte forma:
int[][] valorTotal = {{26, 296, 11}, {34, 58, 98}, {114, 754, 236}};
Prof. Mateus Raeder – Laboratório II
Inicializando arrays bidimensionais de Objetos
Ao declarar e inicializar um array bidimensional de objetos, cada
posição comporta-se como uma variável normal, ou seja, deve ser
inicializada
Exemplo:
Pessoa[][] p = new Pessoa[2][7];
for(int linha=0; linha<2; linha++)
for(int coluna=0; coluna<7; coluna++)
p[linha][coluna] = new Pessoa();
Prof. Mateus Raeder – Laboratório II
Acessando elementos em arrays bidimensionais
Os elementos do array bidimensionais são, então, acessados através de
suas posições numéricas, que são pares numéricos:
Array de String chamado pessoa
Antonio
Luiz
Diego
Dover
Maycon Michele
Jefferson Karoline Leonardo Leonardo
Pedro
Rafael
Rovian
Shayane
System.out.println(“Valor da primeira posição é = ”+pessoa[0][0]);
System.out.println(“Valor da última posição é = ”+pessoa[1][7]);
String aux = pessoa[1][2];
for(int linha=0; linha<2; linha++)
for(int coluna=0; coluna<7; coluna++)
System.out.println(“Posição [”+linha+”][+coluna+”] é ”+pessoa[linha][coluna]);
Prof. Mateus Raeder – Laboratório II
Acessando elementos em arrays bidimensionais
Um array unidimensional possui a variável length, que retorna a
quantidade de elementos do array. Assim, sabemos a quantidade de
elementos do array.
for(int i=0; i<array.length; i++)
Entretanto, como saber as dimensões de um array bidimensional?
Como saber a quantidade de linhas?
Como saber a quantidade de colunas?
Prof. Mateus Raeder – Laboratório II