Vectores en Java - Programación Estructurada

¿Qué es un Vector?

Un vector en Java es una estructura de datos que permite almacenar una secuencia de elementos del mismo tipo. Se utilizan para manejar colecciones de datos cuando se conoce de antemano el número de elementos que se van a almacenar.

Declaración y Uso de Vectores

Para declarar un vector en Java, se especifica el nombre, el tipo de datos que contendrá y su tamaño. Luego, puedes acceder a sus elementos usando un índice. El nombre de un vector es recomendable que sea en plural.

// DECLARO Y CREO MI VECTOR
//Forma 1 - Declaro y creo el vector en memoria.
		int[] miVector = new int[5];
		
//Forma 2 - Creación en 2 pasos. 
//Tiene como ventaja que puedo separar las instrucciones. 
//Lo que permitiría por ejemplo crear el vector con el tamaño ingresado por el usuario.
		int[] miVector ;
		miVector = new int[5];
		
//Forma 3 - Declaro el vector y lo crea del tamaño de la cantidad de valores separados por coma.
		int[] miVector = {4,2,51,21,3};
// Ejemplo básico de declaración y uso de vectores

//Declaro y creo el vector
int[] miVector = new int[5];

//Asigno los valores a cada posición
miVector[0] = 10;
miVector[1] = 20;
miVector[2] = 30;
miVector[3] = 40;
miVector[4] = 50;

//Muestro los valores del vector en pantalla
System.out.println(miVector[0]);
System.out.println(miVector[1]);
System.out.println(miVector[2]);
System.out.println(miVector[3]);
System.out.println(miVector[4]);

Recorriendo un Vector

Para recorrer un vector, es común usar bucles como for o while. A continuación, te mostramos ejemplos que ilustran cómo hacerlo.

Ejemplo Vectores1


int[] numeros = {10, 20, 30, 40, 50};
for (int i = 0; i < numeros.length; i++) {
    System.out.println("Elemento en la posición " + i + ": " + numeros[i]);
}

Ejemplo Vectores2


import java.util.Scanner;
public class Vectores2 {
	public static void main(String[] args) {
		Scanner dato = new Scanner(System.in);
		int N;
		int [] edades;//Paso 1/2 Declaro 
		
		System.out.print("¿Cuantos valores quiere almacenar? ");
		N= dato.nextInt();
		edades=new int[N]; //Paso 2/2 Creo el vector
		
		//Ingreso datos 
		for(int x=0;x < N;x++) {
			System.out.print("Ingrese valor "+(x+1)+": ");
			edades[x]=dato.nextInt();
		}				
		System.out.println("Estos son los datos de mi vector:");
		//Muestro los datos del vector
		for(int x=0;x < N;x++) {
			System.out.println(edades[x]);
		}
	}
}

Ejemplo Vectores3


import java.util.Scanner;

public class Ejemplo3 {
	public static void main(String[] args) {
		Scanner dato = new Scanner(System.in);
		double suma=0,promedio=0;
		double [] sueldos=new double[6];//Declaro y creo
		
		//Ingreso datos 
		for(int x=0;x<6;x++) {
			System.out.print("Ingrese sueldo "+x+": ");
			sueldos[x]=dato.nextDouble();
		}		
		
		System.out.println("Estos son datos ingresados:");
		//Muestro los datos del vector
		for(int x=0;x<=5;x++) {
			System.out.print("$"+sueldos[x]);
			if(x<5)
				System.out.print(" - ");
		}
		//Calculo el sueldo promedio
		for(int x=0;x<=5;x++) //no necesito llaves una instrucción 
			suma=suma+sueldos[x];
			
		promedio=suma/6;	
		System.out.println("El sueldo promedio es de $"+promedio);
	}
}

Ejemplo Vectores4

Este ejemplo muestra cómo realizar una búsqueda en un vector usando un bucle while.


int[] datos = {3, 7, 12, 15, 21};
int buscar = 12;
boolean encontrado = false;
int i = 0;

while (i < datos.length && !encontrado) {
    if (datos[i] == buscar) {
        encontrado = true;
        System.out.println("Valor encontrado en la posición " + i);
    }
    i++;
}
if (!encontrado) {
    System.out.println("Valor no encontrado");
}

IMPOTANTE !!!

La instrucción break en nuestro curso solo en usaremos en la estructura selectiva switch. No usamos break en una estructura repetitiva (practica muy utilizada en inteligencia artificial). El break es un corte, si lo usamos dentro de una estructura repetitiva rompemos el bucle sin que complete el bloque que programamos. El curso de este año es PROGRAMACIÓN ESTRUCTURADA, y tiene como objetivo aprender a usar las distintas estructuras de programación y decidir cuando es mejor usar una u otra. Si usamos break en estructuras repetitivas prácticamente no tendríamos necesidad de usar otra estructura, haríamos todo con una y la cortamos cuando quiéranos.

Pregunta de múltiple opción

1. ¿Qué tipo de datos puede almacenar un vector en Java?

a) Solo enteros
b) Cualquier tipo de datos
c) Solo cadenas de texto

2. ¿Cómo se accede al primer elemento de un vector en Java?

a) vector[0]
b) vector[1]
c) vector.first()

3. ¿Cuál es el tamaño del vector int[] vector = new int[10];?

a) 10
b) 9
c) 11

4. ¿Qué sucede si intentas acceder a un índice fuera de los límites del vector?

a) Devuelve un valor nulo
b) Lanza una excepción
c) Devuelve el último valor del vector

5. ¿Qué operador se utiliza para comparar si dos elementos son iguales en un vector?

a) ==
b) =
c) equals()

6. ¿Cuál es la manera correcta de iterar a través de todos los elementos de un vector?

a) Usar un bucle for o while
b) Usar un bucle switch
c) Usar una estructura condicional if-else

7. ¿Qué devuelve el método .length aplicado a un vector?

a) El número de elementos en el vector
b) El tamaño del primer elemento
c) El valor del último elemento

8. ¿Qué se debe hacer antes de usar un vector en Java?

a) Declararlo y asignarle un tamaño
b) Solo declararlo
c) Nada, se puede usar directamente

9. ¿Qué tipo de estructura es un vector?

a) Estructura lineal
b) Estructura jerárquica
c) Estructura de árbol

10. ¿Qué bucle es más adecuado para recorrer todos los elementos de un vector?

a) for
b) if
c) switch

Ejercicios

  1. Realizar un programa que permita ingresar un vector de 8 elementos, e informe:
  2. Realizar un programa que pida la carga de dos vectores numéricos enteros de 4 elementos, y obtener la suma de los dos vectores, guardando el resultado en un tercer vector del mismo tamaño.
  3. Se tienen las notas del primer parcial de los alumnos de dos cursos, el curso A y el curso B, cada curso cuenta con 5 alumnos. Realizar un programa que muestre el curso que obtuvo el mayor promedio general.
  4. Cargar un vector de 10 elementos y verificar posteriormente si el mismo está ordenado de menor a mayor.
  5. Escribir un programa que permita ingresar un vector de 5 elementos y determine cuántos de ellos son pares y cuántos son impares.
  6. Desarrollar un programa que permita ingresar 10 números en un vector y luego muestre los valores en orden inverso.
  7. Realizar un programa que calcule la suma de los valores almacenados en un vector de 6 elementos y determine si el resultado es un número par o impar.
  8. Escribir un programa que busque el número máximo en un vector de 8 elementos.
  9. Desarrollar un programa que permita al usuario ingresar un vector de 7 elementos y luego muestre cuántos de esos elementos son mayores al valor promedio del vector.
  10. Escribir un programa que permita al usuario ingresar un vector de 9 elementos y luego determine si el vector es simétrico (es decir, si se lee igual de izquierda a derecha que de derecha a izquierda).

SOLUCIONES PROXIMAMENTE