Ir para conteúdo
Entre para seguir isso  
Lwkass

Java - Aula 5

Recommended Posts

Lwkass    1
Lwkass

javalogo.png

# 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.

 

-----------------

Aula feita por: Lwkass

Editado por Lwkass

Compartilhar este post


Link para o post
Compartilhar em outros sites
Piikachu    0
Piikachu

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
ushoriuma

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
Roku

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
ushoriuma

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:

:bye:

Editado por ushoriuma

Compartilhar este post


Link para o post
Compartilhar em outros sites
Lwkass    1
Lwkass

@Topic:

Bom eu fiquei sem poder postar mais aulas , mas eu vou retomar meu ritmo...

 

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

 

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:

:bye:

 

Valeu por avisar ;D

E de nada cara ^^

Editado por Lwkass

Compartilhar este post


Link para o post
Compartilhar em outros sites
Litlor    0
Litlor

Vlw !

Compartilhar este post


Link para o post
Compartilhar em outros sites
vdzz    15
vdzz

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

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×