



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Este documento fornece uma aula passo-a-passo sobre como declarar, inicializar e imprimir vetores em java, abordando conceitos como tamanho de vetores, acesso a posições e atribuição de valores, além de explicar a diferença entre declarar e inicializar uma variável de tipo char e um vetor de tipo char.
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




Crie seu arquivo .java e vamos começar a brincadeira. Primeiro, vamos ver uma forma de declarar vetor em Java. Digite no seu programa (sim, ali no main, como fizemos até hoje, sem traumas): char[] vet ; Agora, compile. Process completed? Então ok! Vamos atribuir um valor a uma posição dele. vet[0]=’A’; Compile. variable vet might not have been initialized Sem lágrimas. Você consegue traduzir: variable = variável vet = não tente traduzir, por favor. É o nome que você deu ao seu vetor. might = pode not = não have = ter been = sido initialized = inicializado Viu como não dói? Bom, o que isso quer dizer? Quer dizer que antes de usarmos o vetor temos que inicializá-lo. E como se faz isso? Digite: vet = new char[5]; Note que 5 é o tamanho do vetor. Logo, ele terá as posições de 0 a 4, ok? Compilou? Deu certo né? Coloque de novo aquela linha: vet[0]=’A’;
Compilou? Ok, deu certo agora. A pergunta que não quer calar: Eu não poderia declarar e inicializar numa só linha? Não sei. Teste aí pra ver sefunciona. Troque: char[] vet; vet = new char[5]; por char[] vet = new char[5]; Compilou? Deu certo? Então por que me perguntou, se só bastava você testar? Continuemos. Ahn? O que? Ah, tem outro jeito de declarar vetor, mudando a posição dos colchetes? Tem sim. Teste ali. char vet[] = new char[5]; O que? Não notou a diferença? Estava assim: char[] vet = new char[5]; Ficou assim: char vet[] = new char[5]; Pronto, sabemos que os colchetes podem estar ao lado do tipo ou ao lado do nome que demos à variável que conterá o vetor. Ouvi um zumzum... o que é mesmo? E se colocar ao lado dos dois ao mesmo tempo? Humpf! Nem vou me dar ao trabalho de explicar. Teste aí e me diga depois... Hum um!!!! Também podemos declarar direto, já inicializando com os valores. Coloque lá: char vet2 = {'A','B','C','D','E'}; Compile agora e veja o que deu. Você já tinha percebido que ia dar errado né? Mas vamos ler o erro: illegal initializer for char
Vamos precisar “andar” pelo vetor, com um bom e velho for. for(int i=0;i<=3;i++) System.out.println(vet3[i]); Compilou? Ok, né? Executou? Deu erro, né? Mensagem? Anda, olha lá. Apareceu isso? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at Vetor.main(Vetor.java:18) Bom, aprenda. Quando aparecer java.lang.ArrayIndexOutOfBoundsException é porque estourou o tamanho de um vetor. Você está tentando acessar posições acima ou abaixo do que existe no vetor. Neste caso, olhe lá na mensagem, você está tentando acessar a posição 3 (vetor de tamanho 3, vai de 0 a 2, lembra? Até lembra né? Mas não prestou atenção no for, não foi?). Vamos, modifique-o. Ou tire o igual (do <=), ou vá até 2. Ah, o vetor, em Java, tem um atributo tamanho: length (assim mesmo, sem parênteses, porque ele é atributo e não método... sim, sim, tarefa de mostrar a diferença fica com Tio Jack, em POO). Veja como é o comando: System.out.println(“Tamanho do vetor: ”+ vet3.length); Então seu for poderia ficar assim: for(int i=0;i<vet3.length;i++) System.out.println(vet3[i]); Mas voltemos aos vetores vet e vet2. Qual o tamanho de vet, olhando para a declaração e inicialização dele? Cinco, né? E o tamanho de vet2? Hipótese: será que seu tamanho é equivalente à quantidade de valores com o qual foi inicializado? Hum! Que teste te daria esta resposta rapidamente? Pense: quantos valores foram colocados em vet2? Cinco! Se eu acessar vet2 na posição 4, deve aparecer a letra E. Testando: System.out.println(vet2[4]); Resultado: E E se tentarmos vet2 na posição 5? Se não estourar, é porque nossa hipótese está furada.
Testando: System.out.println(vet2[5]); resultado: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: (^5) at Vetor.main(Vetor.java:20)
Pelo visto, estourou. Bom, é claro que se eu mandasse escrever o tamanho de vet2 já teria esta resposta mais cedo... System.out.println(“Tamanho de vet2: ”+ vet2.length); E pra fechar, vamos voltar a brincar com os endereços dos vetores: System.out.println("Endereço de vet: "+vet); System.out.println("Endereço de vet2: "+vet2); System.out.println("Endereço de vet3: "+vet3); Mande imprimir vet e vet2, só pra confirmar que eles estão com valores diferentes. Aproveitando o que acabei de aprender: System.out.println(vet); System.out.println(vet2); Se no seu caso eles não estão diferentes, modifique-os para que fiquem assim. Agora o teste que você, como bom curioso, já fez: vet = vet2; Vai dar pau, né? Não se anime, não deu. Agora, o grande teste: System.out.println(vet); System.out.println(vet2); Os mesmos valores para os dois vetores? Modifique um dos vetores e imprima-os. Ahn? Ahn? Agora modifique o outro e faça a mesma coisa. Ahn? Ahn?