Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais ...

13
Laboratório II Mateus Raeder

Transcript of Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais ...

Page 1: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Laboratório II

Mateus Raeder

Page 2: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

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

0 1 2 3 4 5 6 7 8 9Array de “int”

A B C D E F G H I JArray de “char”

Pedro João Maria Ana Rick André Rê Sofia José Milton

Array de “Pessoa”

Page 3: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

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

Arrays bidimensionais

Page 4: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

Array bidimensional de int

Array bidimensional de boolean

Array bidimensional de Pessoa

1 4 8 0 67 9 1 8

7 8 0 23 1 12 0 0

1 4 8 0 67 9 1 8

55 86 10 23 19 12 132 0

5 6 9 7 23 4 4 2

true true true false

true true true true

false false true false

true true true true

Antonio Diego Dover Jefferson Karoline Leonardo Leonardo

Luiz Maycon Michele Pedro Rafael Rovian Shayane

Arrays bidimensionais

Page 5: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

0 1 2 3 4 5 6“colunas”do array

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)

Antonio Diego Dover Jefferson Karoline Leonardo Leonardo

Luiz Maycon Michele Pedro Rafael Rovian Shayane

0 1

“linhas”do array

Arrays bidimensionais

2 linhas por 7 colunas

Um array bidimensional pode ser visto como um array de arrays

Page 6: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

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.

Desta forma, arrays de qualquer tipo podem ser declarados:

char[][] charArray;String[][] stringArray;double[][] doubleArray;float[][] floatArray;

boolean[][] booleanArray;long[][] longArray;byte[][] byteArray;short[][] shortArray;

int[][] valorTotal;

ou

int valorTotal[][];

nome do arraytipo do array

Page 7: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

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

Page 8: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

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

númerode linhas

númerode colunas

Page 9: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

int[][] tamanho = new int[4][4];

double[][] nota = new double[3][3];

char[][] letra = new char[23][2];

Pessoa[][] p1 = new Pessoa[2][7];

Carta[][] c1 = new Carta[4][48];

Inicializando arrays bidimensionais

Exemplos:

tamanhoint[]

0123

0 1 2 3

Page 10: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

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;

...

Pode-se também declarar, criar e inicializar arrays diretamente, da seguinte forma:

int[][] valorTotal = {{26, 296, 11}, {34, 58, 98}, {114, 754, 236}};

ou

for(int linha=0; linha<10; linha++) for(int coluna=0; coluna<10; coluna++) valorTotal[linha][coluna] = 0;

Page 11: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

Prof. Mateus Raeder – Laboratório II

Exemplo:

Inicializando arrays bidimensionais de Objetos

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();

Ao declarar e inicializar um array bidimensional de objetos, cada posição comporta-se como uma variável normal, ou seja, deve ser inicializada

Page 12: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

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:

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]);

Antonio Diego Dover Jefferson Karoline Leonardo Leonardo

Luiz Maycon Michele Pedro Rafael Rovian Shayane

Array de String chamado pessoa

Page 13: Laboratório II Mateus Raeder. Prof. Mateus Raeder – Laboratório II Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador.

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.

Entretanto, como saber as dimensões de um array bidimensional?

Como saber a quantidade de linhas?

Como saber a quantidade de colunas?

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