Disciplina
Programação II
Professora
Emanuella Aleixo de Barros
[Link]@[Link]
Sumário:
◦ Array:
Declaração;
Alocação;
Inicialização;
Acesso;
Multidimensional;
Passando como parâmetro.
2
Array
◦ É uma estrutura de dados que armazena diversas
variáveis do mesmo tipo;
◦ Essas variáveis são acessadas com um único nome e
armazenadas contiguamente na memória;
◦ Tem o seu tamanho definido no momento da criação.
Alfabeto
[0] [1] [2] [3] [4] [5] [6] [7] [8]
‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’ ‘g’ ‘h’ ‘i’
Array Unidimensional (Vetor)
Posições
0 1 2 3 4 5 6 7 8 (índices)
do Array
‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’ ‘g’ ‘h’ ‘i’
char alfabeto []
Tipo do
Array Indicação de
que é um
Nome do Array
Array
4
Declarando Array Unidimensional (Vetor)
5
Alocando Array Unidimensional (Vetor)
6
Alocando Array Unidimensional (Vetor)
7
Alocando Array Unidimensional (Vetor)
◦ Uma vez que tenha sido alocado:
O tamanho de um array não pode ser modificado;
Cada elemento do array será automaticamente
inicializado:
Tipo Primitivo Inicializado com
boolean false
byte, short e int 0
char ‘\u0000’
long 0L
float 0.0F
double 0.0
Tipos de dados não-primitivos, ex.:
Classes (referência para o objeto) = null 8
Inicializando Array Unidimensional (Vetor)
arrayIdades arrayPesos arrayNomes
0 1 2 3 4 0 1 2 0 1
18 12 23 5 70 12.5F 33.0F 75.8F “Maria” “Jose”
9
Declarando, Alocando e Inicializando Array
Unidimensional (Vetor)
arrayIdades arrayPesos array1
0 1 2 3 4 0 1 2 0 1 2 3
18 12 23 5 70 12.5F 33.0F 75.8F ‘J’ ‘A’ ‘V’ ‘A’
array2 arrayNomes
0 1 2 3 4 5 0 1
‘F’ ‘a’ ‘f’ ‘i’ ‘c’ ‘a’ “Maria” “Jose” 10
Acessando Array Unidimensional
◦ Cada item em um array é chamado de elemento;
◦ Cada elemento é acessado pela sua posição (índice).
18 12 23 5 70 16 21 64 98 7
11
Acessando Array Unidimensional
Se houver o acesso a um elemento
além dos limites do array
é disparada uma
ArrayIndexOutOfBoundsException
12
Acessando Array Unidimensional (Vetor)
13
Tamanho do Array (Vetor)
◦ Para se obter o número (quantidade) de elementos de
um array, pode-se utilizar o atributo length.
14
Array
◦ Quando tem apenas 1 dimensão é chamado de
array unidimensional ou vetor.
◦ Quanto tem mais de 1 dimensão é chamado de
array multidimensional ou matriz:
Bidimensional;
Tridimensional.
15
Array Bidimensional (Matriz)
nomeArray [linha] [coluna]
Coluna 0 Coluna 1 Coluna 2 Coluna 3
Linha 0 a[0][0] a[0][1] a[0][2] a[0][3]
Linha 1 a[1][0] a[1][1] a[1][2] a[1][3]
Linha 2 a[2][0] a[2][1] a[2][2] a[2][3]
Subscrito (ou índice) de coluna
Subscrito (ou índice) de linha
Nome do array
16
Declarando Array Bidimensional (Matriz)
17
Alocando Array Bidimensional (Matriz)
18
Alocando Array Bidimensional (Matriz)
19
Declarando, Alocando e Inicializando Array
Bidimensional (Matriz)
matrizQtdFilhos matrizProdutos
0 matrizNotas 0 1
0 2 0 “arroz” “quilo”
0 1 2 3
1 4 1 “sabonete” “unidade”
0 7.2 4.5 8.2 10.0
2 1 2 “refrigerante” “litro”
3 0
4 5
20
Acessando Array Bidimensional (Matriz)
Se houver o acesso a um elemento
além dos limites do array
é disparada uma
ArrayIndexOutOfBoundsException
21
Array Tridimensional
nomeArray [linha] [coluna] [profund]
C P
L
22
Passando Array como parâmetro
◦ Existem duas maneiras de passar
parâmetros para um método:
Por Valor
Por Referência
23
Passando Array como parâmetro
◦ Por valor:
Copia do valor do argumento é passado na
chamada do método;
Em Java, todos os tipos primitivos são passados
por valor.
24
Passando Array como parâmetro
◦ Por valor:
25
Passando Array como parâmetro
◦ Por Referência
Concede ao método chamado acesso direto aos
dados;
O método chamado pode manipular estes dados;
É mais rápido que a passagem por valor;
Em Java, todo objeto é passado por referência
(em Java, arrays são objetos).
26
Passando Array como parâmetro
27