Curso de Java
by Antonio Rodrigues Carvalho Neto
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.
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
Vetor
Matriz 2D
Matriz 3D
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
GreenMile
Payitforward
A.I.
TheLastSamurai
BraveHeart
PatchAdams
0 1 5 6 7432
String 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[]
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
<Available>
Bart
Hommer
William
Paul
JessicaAlfred
Sara
<Available>
Richard
Maicon
<Available>
Antonio
Silvana
0 1 2 3 4
0
1
2
-- Colunas --
----Linhas----
0 1 2 3 4
0
1
2
---- Colunas ----
----Linhas----
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 dvds
usamos 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 forward
System.out.println( dvds[3] ); // The Last Samurai
System.out.println( dvds[5] ); // null
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
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
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
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”;
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.
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

Java vetores e matrizes

  • 1.
    Curso de Java byAntonio Rodrigues Carvalho Neto
  • 2.
  • 3.
    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.
  • 4.
    Matrizes Para evitar amanutençã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
  • 5.
  • 6.
    Vetor No caso dostí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 GreenMile Payitforward A.I. TheLastSamurai BraveHeart PatchAdams 0 1 5 6 7432 String 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[]
  • 7.
    Matriz No caso daplaté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 <Available> Bart Hommer William Paul JessicaAlfred Sara <Available> Richard Maicon <Available> Antonio Silvana 0 1 2 3 4 0 1 2 -- Colunas -- ----Linhas---- 0 1 2 3 4 0 1 2 ---- Colunas ---- ----Linhas----
  • 8.
    Matrizes e Vetores Oacesso 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 dvds usamos 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 forward System.out.println( dvds[3] ); // The Last Samurai System.out.println( dvds[5] ); // null
  • 9.
    Sintaxe de Declaraçãode 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
  • 10.
    Sintaxe de Inicializaçãode 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
  • 11.
    Memória do Computadorusada 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
  • 12.
    Exemplo Para preencher umvetor 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”;
  • 13.
    Exercício Faça um programaque 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.
  • 14.
    Exercício Faça um programaque 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