Vous êtes sur la page 1sur 21

Arrays

Professor: Ricardo Luis dos Santos


IFSUL Campus Sapucaia do Sul

2015 Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul

Arrays

Arrays ou vetores so estruturas de dados que


armazenam usualmente uma quantidade fixa de
dados de um determinado tipo
Tambm so conhecidos como estruturas homogneas de
dados
Um vetor armazena diversos valores, cada um associado a
um nmero que se refere posio de armazenamento, e
conhecido como ndice
O valor que pode ser armazenado em uma certa posio
(ndice) chamado de elemento

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Cada elemento do vetor pode ser utilizado de uma


forma direta, sem nenhuma regra ou ordem, fazendo
dos vetores estruturas de dados de acesso aleatrio

O nmero de posies de um vetor corresponde ao


tamanho que ele tem
Um vetor de tamanho 5 possui 5 elementos distintos
Os diferentes elementos de um vetor so distinguidos
unicamente pela posio que ocupam no vetor (inteiro
sequencial)
vetor

10

45

12

-7

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Cada elemento do vetor pode ser utilizado forma


direta, sem nenhuma regra ou ordem, fazendo dos
vetores estruturas de dados de acesso aleatrio

O nmero de posies de um vetor corresponde ao


tamanho que ele tem
O Java como as linguagens C e C++ so linguagens
Um
vetor
de tamanho
5 possui
5 elementos
com
vetores
zero-based,
isto ,
as posiesdistintos
do vetor
Osiniciam
diferentes
elementosa de
um do
vetor
so0,
distinguidos
a numerao
partir
valor
portanto,
unicamente
pelatamanho
posio 10
queteria
ocupam
noiniciados
vetor (inteiro
um vetor de
ndices
em
sequencial)
0 prosseguindo at o 9
vetor

10

45

12

-7

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Podemos declarar um vetor da seguinte forma

Declaraes de vetores so semelhantes s declaraes de


variveis, os elementos sintticos que diferenciam as
variveis do tipo vetor das outras variveis so os colchetes
Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul

Arrays

No Java um vetor uma classe, portanto, deve-se


utilizar o mtodo new, que ativa o mtodo construtor
correspondente, para criar instncias, da classe vetor
do tipo selecionado (int, byte, long, char, float, )

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Expresses como ndices:


meuArray[Expresso]
onde:
meuArray
nome da varivel do tipo array
Expresso
Posio que define qual o elemento da estrutura de dados est
sendo referenciado
Ateno: deve ser um valor pertencente ao intervalo do ndice da
varivel

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Em suma:
Qual o output?

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Na prtica:
Replicar o cdigo

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays
Replicar o cdigo

10

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Qual a diferena entre esses dois laos?


Por que e quando utilizar cada um
deles?

11

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays

Java permite a inicializao de vetores no momento


da declarao

Isso significa que v[0] ter o valor 3, v[1] ter o valor 2, v[2]
ter o valor 7, v[3] ter o valor 5 e v[4] ter o valor 0
12

Ainda possvel conhecer o tamanho do vetor atravs do


campo length
Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul

Arrays Multidimensionais

Java no fornece vetores multidimensionais, mas


possvel criar vetores de vetores (de vetores etc.),
alcanando assim o mesmo efeito

A declarao de um vetor bidimensional para


inteiros, de nome matriz em Java:

13

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais

Declarando um vetor bidimensional, ou matriz


int[][] A = new int[2][4];

Referenciando as posies da matriz


1a. Linha

2a. Linha

-------------

-------------

A[0][0] = 17;
A[0][1] = 33;
A[0][2] = 21;

A[1][0] = 13;
A[1][1] = 81;
A[1][2] = 97;

A[0][3] = 15;

A[1][3] = 67;

i, linha
14

A[i][j]

j, coluna
0 1 2 3
0

17 33 21 15

13 81 97 67

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais
Replicar o cdigo

15

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais

16

Podemos declarar

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais
Podemos ainda declarar linhas de diferentes tamanhos:
Int[][] m = { {1, 2}, {4, 5, 6, 7, 8}, {9, 10, 11} };
3a. linha com 3 colunas
2a. linha com 5 colunas

1a. linha com 2 colunas


Para conhecer os tamanhos dos vetores deve-se utilizar o
campo length:
m.length determina o nmero de linhas
m[i].length determina o nmero de colunas da i-sima linha
17

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais
Qual o output?

18

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais

Em Java, com exceo dos tipos primitivos (int,


double, char e boolean), todos os outros so
objetos
String, com S maisculo, um dos objetos mais utilizados

Ao contrrio que ocorre em C e C++, strings em Java


so objetos, instncias da classe java.lang.String

As strings correspondem a uma sequncia de


caracteres ASCII delimitados por aspas duplas

19

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais

Replicar o cdigo

20

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Arrays Multidimensionais

Lista de exerccios

O 22 um desafio

21

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense


Campus Sapucaia do Sul

Vous aimerez peut-être aussi