
Lógica e Algoritmos com Java
23 - Vetor
Em Java, um vetor (ou array) é uma estrutura de dados que armazena uma coleção de elementos do mesmo tipo, permitindo o acesso a esses elementos por meio de um índice.
Um vetor tem um tamanho fixo e os elementos são armazenados em posições numeradas, começando do índice 0 até o tamanho do vetor menos 1.
Estrutura de um vetor em Java:
tipo[] nomeVetor = new tipo[tamanho];
Exemplo:
Vamos criar um vetor que armazena os números de 1 a 5 e, em seguida, utilizamos o laço for para imprimir todos os valores armazenados no vetor.
Exemplo de código:
public class ExemploVetor { public static void main(String[] args) { // Cria um vetor de inteiros com 5 elementos int[] numeros = {1, 2, 3, 4, 5}; // Laço for para percorrer o vetor e imprimir os valores for (int i = 0; i < numeros.length; i++) { System.out.println(numeros[i]); // Imprime o valor na posição i do vetor } } }
Explicação:
- O vetor numeros armazena os valores {1, 2, 3, 4, 5}.
- A variável i começa em 0 (o primeiro índice do vetor) e vai até numeros.length - 1 (que é 4 neste caso, porque o vetor tem 5 elementos).
- Dentro do laço for, utilizamos numeros[i] para acessar cada valor armazenado no vetor e imprimi-lo.
Saída do programa:
Quando o programa for executado, ele imprimirá:
1 2 3 4 5
O laço percorre o vetor, imprimindo cada número armazenado na sequência até o fim.
Funcionalidades de um Vetor em Java
Abaixo estão algumas das funcionalidades mais comuns de um vetor em Java.
Função | Descrição | Exemplo |
---|---|---|
Criação de vetor | Criação de um vetor com um número fixo de elementos. | int[] arr = new int[5]; |
Acesso a elementos | Obter o valor de um elemento no vetor usando o índice. | int x = arr[2]; |
Modificação de elementos | Alterar o valor de um elemento em uma posição específica. | arr[1] = 10; |
Length | Obter o tamanho do vetor. | int tamanho = arr.length; |
Inicialização com valores | Inicializar o vetor com valores específicos. | int[] arr = {1, 2, 3, 4, 5}; |
Laço de repetição | Percorrer o vetor e acessar cada elemento. | for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); |
Buscar um valor | Buscar a posição de um valor no vetor. | int pos = Arrays.binarySearch(arr, 3); |
Preencher vetor | Preencher um vetor com um valor específico. | Arrays.fill(arr, 0); |
Exemplo Prático
O seguinte código Java solicita três nomes ao usuário, armazena-os em um vetor e depois exibe-os no console. Vamos explicar cada parte do código.
import java.util.Scanner; // 1. Importando a classe Scanner para capturar entradas do usuário.
public class ExemploVetorNomes {
public static void main(String[] args) {
// 2. Criação do objeto Scanner para ler os dados do usuário.
Scanner scanner = new Scanner(System.in);
// 3. Criação de um vetor para armazenar os três nomes.
String[] nomes = new String[3]; // Vetor de tamanho 3.
// 4. Solicitar o primeiro nome e armazenar no vetor.
System.out.println("Digite o primeiro nome:");
nomes[0] = scanner.nextLine(); // Armazena o primeiro nome na posição 0 do vetor.
// 5. Solicitar o segundo nome e armazenar no vetor.
System.out.println("Digite o segundo nome:");
nomes[1] = scanner.nextLine(); // Armazena o segundo nome na posição 1 do vetor.
// 6. Solicitar o terceiro nome e armazenar no vetor.
System.out.println("Digite o terceiro nome:");
nomes[2] = scanner.nextLine(); // Armazena o terceiro nome na posição 2 do vetor.
// 7. Exibir os nomes armazenados no vetor.
System.out.println("\nOs nomes digitados foram:");
for (int i = 0; i < nomes.length; i++) {
System.out.println((i+1) + "º Nome: " + nomes[i]); // Exibe cada nome armazenado no vetor.
}
// 8. Fechando o scanner para evitar vazamento de recursos.
scanner.close();
}
}
Explicação do código:
- Importação do Scanner: No início do código, importamos a classe
Scanner
para permitir que o programa leia entradas do usuário através do teclado. - Criação do vetor: O vetor
nomes
é criado com 3 elementos, que são usados para armazenar os três nomes digitados pelo usuário. - Leitura dos nomes: O programa solicita ao usuário para digitar três nomes, um por vez, usando o método
nextLine()
da classeScanner
. - Armazenamento no vetor: Cada nome digitado é armazenado em uma posição específica do vetor. O primeiro nome vai para a posição 0, o segundo para a posição 1, e o terceiro para a posição 2.
- Exibição dos nomes: O programa utiliza um laço
for
para percorrer o vetor e exibir cada nome armazenado. - Fechamento do Scanner: Após a leitura dos nomes, o
scanner.close()
é chamado para fechar o objetoscanner
e liberar os recursos.
Saída esperada no console:
Digite o primeiro nome: Carlos Digite o segundo nome: Maria Digite o terceiro nome: João Os nomes digitados foram: 1º Nome: Carlos 2º Nome: Maria 3º Nome: João