0% acharam este documento útil (0 voto)
111 visualizações

POO09 - Arrays (POO - Java)

1) Arrays são estruturas de dados que armazenam uma coleção de elementos do mesmo tipo em posições sequenciais. 2) Em Java, arrays são alocados dinamicamente e podem ter uma ou mais dimensões. 3) Os elementos de um array são acessados via seus índices, que variam de 0 até o tamanho do array - 1.

Enviado por

Silvano Oliveira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
111 visualizações

POO09 - Arrays (POO - Java)

1) Arrays são estruturas de dados que armazenam uma coleção de elementos do mesmo tipo em posições sequenciais. 2) Em Java, arrays são alocados dinamicamente e podem ter uma ou mais dimensões. 3) Os elementos de um array são acessados via seus índices, que variam de 0 até o tamanho do array - 1.

Enviado por

Silvano Oliveira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 25

Arrays (POO – Java)

prof.silvano.oliveira@gmail.com
Arrays
Um Array é uma estrutura de dados que
armazena uma coleção sequencial de tamanho
fixo de elementos do mesmo tipo.
Os arrays são usados para armazenar uma
coleção de dados, porém é interessante pensar
neles como sendo coleções de variáveis do
mesmo tipo.

Prof Silvano Oliveira (POO - Java) 2


Características dos Arrays em Java
 Em Java, todos os arrays são alocados dinamicamente
 Uma variável array em Java pode ser declarada como qualquer outra variável,
acrescentando colchetes [] após o tipo de dados declarado.
 Arrays são objetos em Java. Assim, podemos descobrir seu tamanho usando o
atributo length do objeto.
 Os elementos em um array são indexados a partir de zero.
 Um array pode ter uma ou mais dimensões
 O tamanho de um array sempre deve ser um valor int, e nunca um long, short ou
byte.
 Podemos usar arrays em Java como um campo estático, variável local ou ainda
como parâmetros em métodos.
 Um array pode conter tipos de dados primitivos ou ainda objetos de uma classe

Prof Silvano Oliveira (POO - Java) 3


Criando um array unidimensional: Vetor

tipo nomeArray[ ];
ou
tipo[ ] nomeArray;

O tipo determina qual será o tipo de dados


de todos os elementos que serão
armazenados nas posições do array
(estrutura homogênea).

Prof Silvano Oliveira (POO - Java) 4


Exemplo de declaração de array:

double[ ] salarios;
double salarios[ ]; // Ambas as formas são válidas.

Declaramos um array de nome salarios e


tipo double em um programa.
Porém, neste ponto, nenhum array ainda existe
de fato.

Prof Silvano Oliveira (POO - Java) 5


Criando um array unidimensional: Vetor
Para que essa variável seja ligada ao array real,
será necessário alocar um array usando o
operador new, e atribuindo-o à variável salário.
Desta forma, quando um array é declarado,
apenas uma referência de array é realmente
criada. Para efetivamente alocar espaço na
memória para o array, devemos proceder desta
forma:
nomeArray = new tipoDado[tamanho];

Prof Silvano Oliveira (POO - Java) 6


Criando um array unidimensional: Vetor

Criar um array em Java é um processo em duas


etapas:
Declaramos uma variável do tipo desejado para o array,
e então
Alocamos memória para efetivamente armazenar o
array, atribuindo-a à variável criada.
Exemplo:
double[ ] salarios; // Declarar o array
salarios = new double[50]; // Alocar memória para o array

Prof Silvano Oliveira (POO - Java) 7


Criando um array unidimensional: Vetor

Podemos ainda declarar a variável de referência,


criar o array, e atribuir a referência do array à
variável de uma só vez, como segue:
tipoDado[ ] variávelReferência = new tipoDado[tamanhoArray];

Em nosso exemplo:

double[ ] salarios = new double[50];

Prof Silvano Oliveira (POO - Java) 8


Criando um array unidimensional: Vetor

Os elementos do array alocados com o


operador new são automaticamente
inicializados com valores-padrão:
zero para tipos numéricos
falso para tipo boolean
null para tipos de referência (incluindo String)

Prof Silvano Oliveira (POO - Java) 9


Array literal

Quando sabemos de antemão o tamanho do array


e quais serão os valores que serão armazenados
nas posições do array, podemos usar literais de
array:

tipoDado[ ] variávelReferência = {valor1, valor2, …, valorN};

Prof Silvano Oliveira (POO - Java) 10


Array literal
Por exemplo, suponha um array de 5 posições do
tipo inteiro, do qual sabemos de antemão de será
necessário armazenar os números 5, 9, 12, 3 e 4.
podemos declarar esse array da seguinte forma:

int[ ] numeros = { 5, 9, 12, 3, 4 };

Neste caso, não é necessário usar o operador new


para criar o array (exceto em versões muito antigas
do Java).

Prof Silvano Oliveira (POO - Java) 11


Como acessar os elementos de um array em Java

Os elementos em um array são sempre


acessados por meio de seu número de índice
(que é a posição do elemento). Esse índice
sempre se inicia em zero, e termina
em tamanhoArray – 1.
Por exemplo, um array de dez posições tem a
sua primeira posição com índice zero e sua
última posição com 10 -1 = índice 9. Portanto, se
trata de um array cujas posições vão de 0 a 9.

Prof Silvano Oliveira (POO - Java) 12


Acessando e alterar posições individuais em um array (vetor)

Acessar um elemento individual em um array


simplesmente indicando o número de índice da
posição desejada (entre colchetes), junto ao
nome do array em si.

// Criar o array e atribuir-lhe valores a partir de uma lista de inicialização:


double[ ] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };
// Acessando seu quinto elemento (número de posição 4)
System.out.println("Elemento 5 do array: " + valores[4])

Prof Silvano Oliveira (POO - Java) 13


Atribuindo valores

O mesmo vale para a atribuição de valores


ao array. Por exemplo, vamos modificar os
valores das posições de índices 4 e 6 para
2.3 e 7.1, respectivamente:

valores[4] = 2.3;
valores[6] = 7.1;

Prof Silvano Oliveira (POO - Java) 14


Mostrando o resultado

// Acessando os elementos alterados


System.out.println("Valor alterado para: " + valores[4]);
System.out.println("Valor alterado para: " + valores[6]);

Prof Silvano Oliveira (POO - Java) 15


Acessando todas as posições de uma vez via laço for

Podemos acessar todas as posições de um


array usando um simples laço for e a
propriedade length do array, como segue:

for (int i = 0; i < nomeArray.length; i++) {


Código a executar para cada elemento
}

Prof Silvano Oliveira (POO - Java) 16


Exemplo
Criar um array de números double e acessar seus elementos
usando um laço for.

// Criar array e atribuir-lhe valores a partir de uma lista de inicialização:


double[ ] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };
// Mostrar todos os elementos do array:
for (int i = 0; i < valores.length; i++) {
System.out.println("Elemento " + i + " = " + valores[i]);
}

Prof Silvano Oliveira (POO - Java) 17


Resultado

Prof Silvano Oliveira (POO - Java) 18


Acessando todas as posições do array usando laço foreach

 Mostrar todos os elementos do array valores usando um


laço foreach (for enhanced em Java):

public static void main(String[ ] args) {


double[ ] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };
// Mostrar todos os elementos do array:
for (double elemento: valores) {
System.out.println(elemento);
}
}

Prof Silvano Oliveira (POO - Java) 19


foreach
A declaração foreach é usada quando há a
necessidade de percorrer o array sem usar um
contador.

Observação: Cuidado ao usar um laço foreach


para iterar pelos elementos de um array em
Java. Essa técnica não é apropriada quando
queremos modificar o array, além de não manter
registro do número de índice que está sendo
acessado.

Prof Silvano Oliveira (POO - Java) 20


Exercicio
Crie uma classe Produtos, que contém
Um atributo nome do produto
Um atributo preço do produto (indicando o preço dos
produtos em diferentes supermercados) do tipo array com
5 posições
Um método para alterar cada atributo (setter)
Um método para obter o valor de cada atributo (getter)
Um método para encontrar o maior preço de um produto
Um método para encontrar o menor preço do produto
Um método para calcular o preço médio do produto

Prof Silvano Oliveira (POO - Java) 21


Arrays multidimensionais
 Esse tipo de array é declarado como tendo duas dimensões e é
usado para representar tabelas de valores que consistem em
informações organizadas em linhas e colunas.
 Os arrays bidimensionais precisam de dois índices para
identificar um elemento particular.

Prof Silvano Oliveira (POO - Java) 22


Arrays multidimensionais
Para criar uma matriz bidimensional, adicione
cada matriz dentro de seu próprio conjunto
de chaves:
Exemplo
int[ ][ ] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

myNumbers é agora uma matriz com duas


matrizes como seus elementos.

Prof Silvano Oliveira (POO - Java) 23


Arrays multidimensionais
Para ter acesso aos elementos do MyNumbers
matriz, especificar dois índices: um para a matriz,
e um elemento para o interior dessa matriz. Este
exemplo acede ao terceiro elemento (2) na
segunda matriz (1) de MyNumbers:
Exemplo
int[ ][ ] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
int x = myNumbers[1][2];
System.out.println(x); // Saída 7

Prof Silvano Oliveira (POO - Java) 24


Arrays multidimensionais
 Também pode usar um for dentro do outro for para obter os
elementos de uma matriz bidimensional (ainda temos de apontar
para os dois índices):
 Exemplo
public class MyClass {
public static void main(String[ ] args) {
int[ ][ ] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
for (int i = 0; i < myNumbers.length; ++i) {
for(int j = 0; j < myNumbers[i].length; ++j) {
System.out.println(myNumbers[i][j]);
}
}
}
}

Prof Silvano Oliveira (POO - Java) 25

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy