Lwkass 1 #1 Postado 19 Maio, 2010 (editado) # Vetores, Matrizes e Loops Aula 5 #Vetores e Matrizes: Definições em Java: Vetor: Tabela unidimensional Matriz: Tabela multidimensional ~ Vetor: Como foi dito acima, vetor é uma tabela unidimensional, ok, mas oque é isso ? Uma tabela unidimensional seria uma tabela que tem apenas uma dimensão (sério ?), explicando numa linguagem mais simples, é uma tabela que não possui tabelas dentro, isso é um vetor. Tabela Multidimensional é uma tabela que possui várias dimensões, ou seja, uma tabela que possui tabelas dentro. Uma tabela (tanto vetor quanto matriz) é ótimo para organização, pois nos permite guardar múltiplos valores “numa variável só” ! Bem, cada valor terá um “numero de chamada” no vetor, que se inicia em 0 e vai até o numero de elementos – 1, exemplo de Vetor: int numeros[] = {1,2,3,4,5,6,7,8,9,10}; Isso acima é um vetor, veja que eu coloquei o “int” antes de dar o nome ao vetor, assim como em outras linguagens é necessário apontar o tipo de valor que será armazenado nessa tabela, aqueles “[]” (colchetes), que pode ser colocados antes ou depois do nome da variável, mostra que a variável numeros é um vetor/matriz. Nesse caso, como eu irei guardar números inteiros, eu coloquei o apontador int. Se fosse necessário guardar Strings, eu colocaria o apontador String. Lembre-se: Se você colocar um vetor para int, ele não aceitara Strings, chars, booleans e outros tipos de dados, apenas int ! Para chamar um valor desse vetor acima, por exemplo, eu quero imprimir algum valor, eu faço isso: System.out.println(“O Endereço 0 possui o valor: ” + numeros[0]); irá imprimir: O Endereço 0 possui o valor: 1 Um exemplo de Matriz: int numeros[][] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}}; Veja que tem mais um par de colchetes, isso mostra que a variavel numeros é uma Matriz, para chamar seus valores é fácil: System.out.println(numeros[0][0]); irá resultar: 1 É simples, no primeiro par de colchetes fica o “endereço”/”numero de chamada” da tabela, no caso 0, e no segundo par de colchetes fica o “endereço”/”numero de chamada” do valor, também 0. Mas também há outros modos de se fazer uma array (tabela) que é reservando espaço na memoria para a tabela sem definir valores: int numeros[] = new int[10]; Inicialmente não se importe com oque o new faz, ele será visto mais a frente Pronto, você criou uma nova array unidimensional com 10 espaços. Mas lembre-se, que você só definiu os espaços e não os valores. Para definir um valor : numeros[3] = 200; Isso dará valor 200 ao endereço 3 da array (lembrando que a contagem da array se inicia em 0). Array é bem importante, então caso tenha alguma duvida revise o conteúdo acima ou pergunte. #Loops: O que seria loop ? Loop traduzido para o pt-br significa laço, loop serve para fazer algumas tarefas repetidas que nos poupam linhas de código, existem 2 loops em Java: for e while. ~ For (Traduzindo: Para): Um exemplo básico de uso do laço for: for (int a = 0; a <= 10; a++) { System.out.println(“Valor: ” + a); } Ira imprimir: Valor: 0 Valor: 1 Valor: 2 Valor: 3 Valor: 4 Valor: 5 Valor: 6 Valor: 7 Valor: 8 Valor: 9 Valor: 10 Bem, é um pouco confuso entender de primeira, mas vou tentar explicar da melhor forma possível. A estrutura do loop for, seria isso: for (variavel usada; condição; modificador da variavel) {} ~ Variavel usada: Esse é o inicio, aqui você define o tipo de dado e a variavel com que vai trabalhar. Geralmente se usa números, int, long, byte, short etc. ~ Condição: É a condição que necessita ser feita para que o loop execute. ~ Modificador da variavel: Pode ser incremento(++) ou decremento(--). É mais simples do que parece, você só precisa fazer a estrutura do loop e depois passar a utilizar a “variavel usada” dentro do corpo do loop. Um uso do loop, é para definir valores numa tabela, você viu que lá em cima eu defini valores de 1 à 10 manualmente, usando loops eu posso deixar que Java faça esse serviço pra mim. int numeros[] = new int[10]; for (int x = 0; x <= 9; x++) { numeros[x] = x + 1; System.out.println(“Endereço “ + x + “ = ” + (x+1)); } Isso para arrays unidimensionais, mas e para multidimensionais ? Facil (ou não) int numeros[][] = new int[3][5]; for (int x = 0; x < 3; x++) { for (int y = 0; y < 5; y++) { numeros[x][y] = y + 1; System.out.println("Array " + x + ": Endereço " + y + " = " + (y+1)); } } que vai imprimir: Array 0: Endereço 0 = 1 Array 0: Endereço 1 = 2 Array 0: Endereço 2 = 3 Array 0: Endereço 3 = 4 Array 0: Endereço 4 = 5 Array 1: Endereço 0 = 1 Array 1: Endereço 1 = 2 Array 1: Endereço 2 = 3 Array 1: Endereço 3 = 4 Array 1: Endereço 4 = 5 Array 2: Endereço 0 = 1 Array 2: Endereço 1 = 2 Array 2: Endereço 2 = 3 Array 2: Endereço 3 = 4 Array 2: Endereço 4 = 5 Veja que a variavel x é responsavel pelo endereço da array e a variavel y, responsavel pelo endereço dos valores. Outra coisa... x < 3 é a mesma coisa que x <= 2 y < 5 é a mesma coisa que y <= 4 a <= 10 é a mesma coisa que a < 11 ~ While (Traduzindo: Enquanto): Exemplo de loop While: int num = 0; while (num <= 10) { System.out.println(num); num++; } Ira resultar nos números de 0 à 10. A estrutura do while é essa: while (condição) {} while aceita qualquer tipo de condição, se ela for verdadeira (true) o corpo do while sera executado, se for falso (false) não será. Atenção: Tome muito cuidado ao utilizar while, você pode fazer um loop infinito, a não ser que o objetivo realmente seja esse. Existe outra forma de escrever while, assim: do {} while (condição) o código acima escrito pelo método do while ficaria assim: do { System.out.println(num); num++; } while (num <= 10) #Exercício: Utilize como base o exemplo do loop for para dar valores a uma tabela, unidimensional e multidimensional, e recrie usando while. ----------------- Próxima Aula: Break, Continue, Static e Final. Aula feita por: Lwkass Editado 8 Junho, 2010 por Lwkass Compartilhar este post Link para o post Compartilhar em outros sites
Piikachu 0 #2 Postado 29 Maio, 2010 Muito boas as aulas, continue assim e poderemos ter bons programadores Java aqui no fórum e talvez até trabalhando pra fora. Atenciosamente, Piikachu. Compartilhar este post Link para o post Compartilhar em outros sites
ushoriuma 0 #3 Postado 29 Maio, 2010 boua cara vo estuda java por aki,pra no 2 simestre do curso(agosto) eu ja saiba 1 poco xD thx cara! aprovado Compartilhar este post Link para o post Compartilhar em outros sites
Roku 0 #4 Postado 29 Maio, 2010 aula boa, explico direitinho e ficou bem grandinha isso é que é bom =] voce que programa lua tambem, se puder me responder uma coisinha... matriz no caso, em lua seria a mesma coisa que algumacoisa = {a={1,2,3},b={4,5,6}} ? cya Compartilhar este post Link para o post Compartilhar em outros sites
ushoriuma 0 #5 Postado 30 Maio, 2010 (editado) Um exemplo básico de uso do laço for: for (int a = 0; a <= 10; a++) { System.out.println(“Valor: ” + a); } Ira imprimir: [color="red"]Valor: 1[/color] Valor: 2 Valor: 3 Valor: 4 Valor: 5 Valor: 6 Valor: 7 Valor: 8 Valor: 9 Valor: 10 Pelo Que Eu Vi Quando Executei Esse Programa, Pmprimiu Na Seguinte Ordem: [color="red"]Valor: 0[/color] Valor: 1 Valor: 2 Valor: 3 Valor: 4 Valor: 5 Valor: 6 Valor: 7 Valor: 8 Valor: 9 Valor: 10 Você Esqueceu De Por o ZERO! x.x Vlw Pelas Aulas Cara,Em Agosto Chega o 2º Periodo Do Meu CUrso, e Adivinha,Vai Começar Java ^^!:fist: Editado 30 Maio, 2010 por ushoriuma Compartilhar este post Link para o post Compartilhar em outros sites
Lwkass 1 #6 Postado 8 Junho, 2010 (editado) @Topic: Bom eu fiquei sem poder postar mais aulas , mas eu vou retomar meu ritmo... aula boa, explico direitinho e ficou bem grandinhaisso é que é bom =] voce que programa lua tambem, se puder me responder uma coisinha... matriz no caso, em lua seria a mesma coisa que algumacoisa = {a={1,2,3},b={4,5,6}} ? cya sim sim, desculpe pela graande demora em responder ao tópico, é que eu não tinha visto que tinha sido aprovado também Pelo Que Eu Vi Quando Executei Esse Programa, Pmprimiu Na Seguinte Ordem: [color=red]Valor: 0[/color] Valor: 1 Valor: 2 Valor: 3 Valor: 4 Valor: 5 Valor: 6 Valor: 7 Valor: 8 Valor: 9 Valor: 10 Você Esqueceu De Por o ZERO! x.x Vlw Pelas Aulas Cara,Em Agosto Chega o 2º Periodo Do Meu CUrso, e Adivinha,Vai Começar Java ^^!:fist: Valeu por avisar ;D E de nada cara ^^ Editado 8 Junho, 2010 por Lwkass Compartilhar este post Link para o post Compartilhar em outros sites
Litlor 0 #7 Postado 18 Junho, 2010 Vlw ! Compartilhar este post Link para o post Compartilhar em outros sites
vdzz 15 #8 Postado 19 Agosto, 2011 Ficou legal a aula, só acho que você poderia citar que para declarar um vetor ou matriz, pode se fazer também: int[] vetor1, vetor2, vetor3, vetor4; int[][] matriz1, matriz2, matriz3, matriz4; Em vez de fazer: int vetor1[], vetor2[], vetor3[], vetor4[]; int matriz1[][], matriz2[][], matriz3[][], matriz4[][]; E que quando se declara por exemplo: int vetor[] = new int[50]; Todos valores do vetor ganham valor inicial igual a "0". Compartilhar este post Link para o post Compartilhar em outros sites