Anda di halaman 1dari 24

Aula 4

Arrays

Prof. Maikol Magalhes Rodrigues

Arrays
Introdu%o
2

Imaginemos que queiramos trabalhar com as notas de alunos Su ondo que cada aluno tenha cinco notas! odemos criar cinco "ari#"eis do ti o int ara arma$enar as notas de um aluno.

int n1=0, n2=0, n3=0, n4=0, n5=0

Arrays
Introdu%o
3

Problemas&

Se o n'mero de "ari#"eis for muito grande( Se no for oss)"el saber anteci adamente com quantos alunos ou notas o rograma "ai trabalhar(

*ma solu%o ara esse roblema oderia ser a utili$a%o de uma estrutura de dados

+o caso anterior! oder)amos criar uma 'nica estrutura chamada notas

Arrays
Introdu%o
4

*ma estrutura de dados muito comum ara esse ti o de situa%o so os arrays *m array , uma estrutura de dados que define uma cole%o homognea de um n'mero fixo de elementos *m array ode ser unidimensional -tamb,m chamado de vetor.! bidimensional -tamb,m chamado de matriz. ou multidimensional.

/etores

/etores
1efini%o
6

0s "etores re resentam um gru o de dados do mesmo ti o


/etor de inteiros 2 3 4 5 y 6 74

/ari#"el do ti o inteiro

/etores
9i os
7

Pode8se criar "etores de qualquer ti o rimiti"o e tamb,m de Strings


4 5 y 6 74 <*nifor = > 4. : ;. 4 $ 2. : <?a"a=

?A/A
8

/etores
1eclara%o

Para declarar uma "ari#"el que acesse um "etor! , necess#rio colocar os @ A


int 3@ AB boolean@ A yB String s@ AB

A declara%o da "ari#"el no cria o "etor em si! mas a enas a "ari#"el que "ai acessar o "etor
3 y s

?A/A
9

/etores
Instancia%o

Para criar o "etor! , necess#rio usar o comando ne>


int 3@ A C ne> int@ 2 AB boolean@ A y C ne> boolean @ 7 AB String s@ A C ne> String@ 6 AB

:
:

:
6

:
7

fals e
:

fals e
6

9amanho do "etor

null
:

/alor default

?A/A
10

/etores
Acesso

Para acessar as osi%Des de um "etor! de"e8se es ecificar a osi%o entre colchetes

Inicia em $ero-:.
3
7
:

int 3@ A C ne> int@ 2 AB 3@ : A C 7B 3@ 6 A C 6EB 3@ 7 A C 5B 6E


6

5
7

?A/A
11

/etores
1eclara%o e Instancia%o

Pode8se declarar e instanciar um "etor em uma mesma linha


int 3@ A C F 7! 2! 4 GB

7
:

2
6

4
7

0u em linhas se aradas
String a@ AB a C ne> String@ A F<AHI=! <1JK=G

<AHI =
:

<1JK =
6

?A/A
12

/etores
9amanho

0 tamanho de um "etor , es ecificado ela ro riedade length


int 3@ A C F 7! 2! 4 GB int tamanho C 3.lengthB

7
:

2
6

4
7

0s arrays em La"a so <est#ticos= no odem ser redimensionados

?A/A
13

/etores
Percorrendo

Para im rimir os "alores de um "etor! , necess#rio ercorrer os elementos usando um comando for
int 3@ A C F 7! 2! 4 GB for -int i C :B i M 3.lengthB iNN. F System.out. rintln- 3@ i A .B G

7
:

2
6

4
7

?A/A
14

/etores
Kun%Des

Para co iar um array ara outro


System.arrayco y- src@A! start! dest@A! osIni1est! length .

Para ordenar um array


La"a.util.Arrays.sort- array .B

Iom arar dois arrays


La"a.util.Arrays.equals- src! dest .B

Reali$ar uma busca bin#ria -o array de"e estar ordenado.


La"a.util.Arrays.binarySearch- array! key .B

INN
15

/etores
1eclara%o

1eclara%o de "etores no INN&

ti o nome1oArray@tamanhoAB
int nums@7AB double notas@4:AB

J3em los&

0bs.& o tamanho do array fornecido na declara%o de"e ser uma constante inteira maior que $ero.

INN
16

/etores
Iniciali$a%o

Iniciali$a%o de "etores no INN&


ti o nomeArray@tamA C F:GB ti o nomeArray@A C Fn6!n7!n2GB

J3em los&
int nums@A C F7!2!O!4!6GB int nums@6:A C F:GB

0s elementos do array tamb,m odem ser iniciali$ados em um la%o

INN
17

/etores
9amanho

0 tamanho de um "etor , es ecificado P elo m,todo si$e-.


int 3@A C F 7! 2! 4 GB int tamanho C 3.si$e-.B

7
:

2
6

4
7

0s arrays em La"a so <est#ticos= no odem ser redimensionados

18

Matri$es

?A/A
19

Matri$es
1eclara%o e Instancia%o

As matri$es so "etores bidimensionais


int 3@ A@ A C ne> int @ 7 A@ 2 AB

Ioluna : Ioluna 6 Ioluna 7 Qinha : Qinha 6

?A/A
20

Matri$es
Re resenta%o e Acesso

:
:

2
6

:
7

3 6
:
:

:
6

:
7

int 3@ A@ A C ne> int @ 7 A@ 2 AB 3@ : A @ 6 A C 2B

?A/A
21

Matri$es
Qinhas e Iolunas

Pode8se instanciar matri$es sem um n'mero de colunas definido


int 3@ A@ A C ne> int @ 7 A@ AB 3@ : A C ne> int@ 4 AB 3@ 6 A C ne> int@ 7 AB

:
:

:
6

:
7

:
2

3 6
:
:

:
6

INN
22

Matri$es
1eclara%o e Instancia%o

1eclara%o de matri$es no INN&

ti o nome1oArray@tam6A@tam7A

J3em los&
int nums@7A@4AB RR7 lin! 4 col double notas@4:A@4:AB RR4: linhas e 4: colunas

INN
23

Matri$es
1eclara%o e Instancia%o

Iniciali$a%o de matri$es no INN&

ti o nomeArray@A@A C FFn6!n7!n2G! Fn4!n4!nEGGB

J3em los&
int nums@7A@2A C FFE!4!2G!F4!7!OGGB int nums@7A@2A C FE!4!2!4!7!OGB int nums@7A@2A C FFE!4G!F4GGB

J3erc)cios
24

Jscre"a um algoritmo ara e3ibir a m,dia de "alores inteiros resentes em um "etor! reenchido or um usu#rio Jscre"a um algoritmo ara reencher um "etor com nomes de essoas -"ia teclado.! orden#8lo e e3ib)8lo Jscre"a um algoritmo ara e3ibir a matri$ soma de duas outras Jscre"a um algoritmo ara e3ibir a matri$ roduto de duas outras

Anda mungkin juga menyukai