Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java vetores e matrizes

3,367 views

Published on

  • Be the first to comment

  • Be the first to like this

Java vetores e matrizes

  1. 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  2. 2. Matrizes
  3. 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. 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
  5. 5. Vetor Matriz 2D Matriz 3D Vetores e Matrizes
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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

×