14
Curso de Java by Antonio Rodrigues Carvalho Neto

Java vetores e matrizes

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Java   vetores e matrizes

Curso de Java

by Antonio Rodrigues Carvalho Neto

Page 2: Java   vetores e matrizes

Matrizes

Page 3: Java   vetores e matrizes

Matrizes� Em algumas situações é preciso guardar

diversas informações de um mesmo tipo no Java.

� Imagine ter que guardar informações como os titulos de filmes de uma coleção de DVD, ou os nomes de ouvintes que estão na platéia de um teatro.

� Até o momento deveriamos criar uma váriavel específica para guardar cada umas destas informações, uma para cada pessoa, uma para cada título.

Page 4: Java   vetores e matrizes

Matrizes

� Para evitar a manutenção de todas estas variáveis, as linguagens de programação oferecem um recurso chamado de Vetores ou Matrizes.

� Onde é criado apenas uma variável contendo diversas células dentro dela, e as informações são gravadas ou lidas dessas células

Page 5: Java   vetores e matrizes

� Vetor

� Matriz 2D

� Matriz 3D

Vetores e Matrizes

Page 6: Java   vetores e matrizes

Vetor

� No caso dos títulos de DVDs podemos criar uma única variável chamada dvds que seria um vetor com 7 células suficientes para conter todos os títulos na minha coleção

Gre

en M

ile

Pay

it f

orw

ard

A.I

.

The

Las

t Sam

urai

Bra

ve H

eart

Pat

ch A

dam

s

0 1 5 6 7432String dvd1 = “Green mile”;

String dvd2 = “Pay it forward”;

String dvd3 = “A.I.”;

String dvd4 = “The Last Samurai”;

String dvd5 = “Brave Heart”;

String dvd6 = “Patch Adams”;

Uma única variável dvds[]

Page 7: Java   vetores e matrizes

Matriz

� No caso da platéia do teatro, podemos criar uma única variável do tipo matriz com duas dimensões para guardar os nomes de cada indivíduo.

John

<A

vail

able

>

Bar

t

Hom

mer

Wil

liam

Pau

l

Jess

ica

Alf

red

Sar

a

<A

vail

able

>

Ric

hard

Mai

con

<A

vail

able

>

Ant

onio

Silv

ana

0 1 2 3 4

0

1

2

�-- Colunas --�

�--

--L

inha

s --

--�

0 1 2 3 4

0

1

2

�---- Colunas ----�

�--

--L

inha

s --

--�

Page 8: Java   vetores e matrizes

Matrizes e Vetores

� O acesso a cada uma dessas células é feito pelo índice. Por exemplo no caso do título para gravar o nome do primeiro e do segundo título de DVD na variável dvdsusamos a seguinte sintaxe :

dvds[0] = “Green Mile”;dvds[1] = “Pay it forward”;

� E se quisermos acessar a informação posteriormente para imprimir na tela, basta chamar a variável com o índice desejado.

System.out.println( dvds[1] ); // Pay it forwardSystem.out.println( dvds[3] ); // The Last SamuraiSystem.out.println( dvds[5] ); // null

Page 9: Java   vetores e matrizes

� Sintaxe de Declaração de Vetores e Matrizes

<tipo> [ ] <var1>[, <var2> ..<varn>];Ex: int [] a, b;

Ex: int [] [] c, d;

<tipo> <var1>[];Ex: int a[], b;

Ex: int c, d[][];

Ex: String j[];

<tipo> <var1>[] = { <elementos>};Ex: int a[] = { 1, 2, 3};

Ex: int d[][] = { {1, 2, 3}, { 9, 7, 8}, { 2, 3, 5} };

Matriz e Vetores

Declaração seguida de inicialização

Page 10: Java   vetores e matrizes

� Sintaxe de Inicialização de Vetores e Matrizes

<var> = new <tipo da variável | classe> [ tamanho ];

Ex: a = new int [10];

Ex: d = new int [10][5];

Ex: j = new String [7];

Matriz e Vetores

Page 11: Java   vetores e matrizes

Memória do Computador usada pelo Java

dvds[]

Memória do Computador usada pelo Java

Declaração

String dvds[];

Inicialização

dvds = new String[8];

0 1 5 6 7432

dvds[8]

� A declaração serve para reservar o espaço na memória do Java.� Quando o vetor ou matriz é inicializado o java divide este espaço da

memória em celulas

Matriz e Vetores

Page 12: Java   vetores e matrizes

Exemplo

� Para preencher um vetor com o exemplo dos títulos de DVD o programa ficaria como o código abaixo :

String [] dvds = new String[8];

dvds[0] = “Green mile”;

dvds[1] =“Pay it forward”;dvds[2] =“A.I.”;

dvds[3] =“The Last Samurai”;

dvds[4] =“Brave Heart”;dvds[6] =“Patch Adams”;

Page 13: Java   vetores e matrizes

Exercício

� Faça um programa que solicite 20 números ao usuário, armazene-os em um vetor e depois imprima na tela os vinte números juntamente com a soma e sua média aritmética

� Desafio : Modifique o programa anterior para mostrar os números na tela de forma ordenada.

Page 14: Java   vetores e matrizes

Exercício

� Faça um programa que armazene um tabuleiro de Sudoku e preencha este tabuleiro com 10 números aleatoriamente.

� Faça também uma rotina para que o usuário possa colocar novos números neste tabuleiro, indicando qual linha, coluna e o número a ser colocado.

� Desafio : Modifique o programa anterior para que ele valide se o número pode ser colocado naquela posição conforme as regras do Sudoku