SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
Alberto Simões
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
Albert Belchior
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
Nécio de Lima Veras
 
Data Warehouse - Modelagem
Data Warehouse - ModelagemData Warehouse - Modelagem
Data Warehouse - Modelagem
Rudson Kiyoshi Souza Carvalho
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
Professor Samuel Ribeiro
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
Anderson Sanches
 
Teste de software
Teste de softwareTeste de software
Teste de software
COTIC-PROEG (UFPA)
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
Mario Sergio
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
Leinylson Fontinele
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
Moises Omena
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
Willians Miyabara
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
Gabriel Faustino
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
Elaine Cecília Gatto
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
Armando Daniel
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
Fabio Moura Pereira
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
Elaine Cecília Gatto
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Leinylson Fontinele
 
Gestão de segurança da informação para concursos-questões CESPE 04
Gestão de segurança da informação para concursos-questões CESPE 04Gestão de segurança da informação para concursos-questões CESPE 04
Gestão de segurança da informação para concursos-questões CESPE 04
Fernando Palma
 

Mais procurados (20)

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Data Warehouse - Modelagem
Data Warehouse - ModelagemData Warehouse - Modelagem
Data Warehouse - Modelagem
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
Gestão de segurança da informação para concursos-questões CESPE 04
Gestão de segurança da informação para concursos-questões CESPE 04Gestão de segurança da informação para concursos-questões CESPE 04
Gestão de segurança da informação para concursos-questões CESPE 04
 

Destaque

JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
Elaine Cecília Gatto
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)
Armando Daniel
 
[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20
Loiane Groner
 
java
javajava
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
PeslPinguim
 
Vetores e matrizes
Vetores e matrizesVetores e matrizes
Vetores e matrizes
Geomar matias
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
PeslPinguim
 
JAVA - Vetores
JAVA - VetoresJAVA - Vetores
JAVA - Vetores
Elaine Cecília Gatto
 
Condicional 02 Pascal Exercicio
Condicional 02 Pascal ExercicioCondicional 02 Pascal Exercicio
Condicional 02 Pascal Exercicio
Marcus Vinicius
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
TV Pernambuco
 
Apostila Java2D (correta)
Apostila Java2D (correta)Apostila Java2D (correta)
Apostila Java2D (correta)
Elaine Cecília Gatto
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
Charles Jungbeck
 
Java code conventions
Java code conventionsJava code conventions
Java code conventions
Armando Daniel
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Adriano Teixeira de Souza
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
Armando Daniel
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
Armando Daniel
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
Cláudio Amaral
 

Destaque (20)

JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)
 
[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20
 
java
javajava
java
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Vetores e matrizes
Vetores e matrizesVetores e matrizes
Vetores e matrizes
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
JAVA - Vetores
JAVA - VetoresJAVA - Vetores
JAVA - Vetores
 
Condicional 02 Pascal Exercicio
Condicional 02 Pascal ExercicioCondicional 02 Pascal Exercicio
Condicional 02 Pascal Exercicio
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Apostila Java2D (correta)
Apostila Java2D (correta)Apostila Java2D (correta)
Apostila Java2D (correta)
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Java code conventions
Java code conventionsJava code conventions
Java code conventions
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 

Semelhante a Java vetores e matrizes

Inpe
InpeInpe
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCNITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
Jefferson Andrade
 
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
PotiLivre Sobrenome
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stata
Ricardo Schuch
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
Leandro Rezende
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
Mario Jorge Pereira
 
OpenSolaris a Céu Aberto
OpenSolaris a Céu AbertoOpenSolaris a Céu Aberto
OpenSolaris a Céu Aberto
José Maria Silveira Neto
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
nsitechtalks
 

Semelhante a Java vetores e matrizes (8)

Inpe
InpeInpe
Inpe
 
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCNITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
 
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stata
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
OpenSolaris a Céu Aberto
OpenSolaris a Céu AbertoOpenSolaris a Céu Aberto
OpenSolaris a Céu Aberto
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 

Mais de Armando Daniel

Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connection
Armando Daniel
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
Armando Daniel
 
Java orientação a objetos (introdução) - exercicios
Java   orientação a objetos (introdução) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
Armando Daniel
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)Java   orientação a objetos (herança)
Java orientação a objetos (herança)
Armando Daniel
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
Armando Daniel
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
Armando Daniel
 

Mais de Armando Daniel (9)

Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connection
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
 
Java orientação a objetos (introdução) - exercicios
Java   orientação a objetos (introdução) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)Java   orientação a objetos (herança)
Java orientação a objetos (herança)
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
 

Java vetores e matrizes

  • 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  • 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 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
  • 6. 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[]
  • 7. 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----
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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”;
  • 13. 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.
  • 14. 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