Utilizar un arreglo para hacer operaciones con el, en la mayoría de las veces implica el uso de la instrucción for, pues para poder tomar o actualizar cada elemento del arreglo, es necesario utilizar índice, y es por esto que el for es la instrucción ideal.
Por ejemplo, como se vio en arreglos de una dimensión, para inicializar un arreglo ya una vez definido podemos utilizar:
for (int i=0; i<10; i++) {
arreglo [i] = i;
}
Pero también podemos utilizar la variable length, la cual es definida para todo arreglo en Java, y esta representa el número máximo de posiciones en el arreglo, es decir para el ejemplo anterior quedaría como:
for (int i=0; i < arreglo.length; i++) {
arreglo [i] = i;
}
Al hacer operaciones con arreglos es muy común que utilicemos también una constante para definir el máximo valor a utilizar en el arreglo, es decir para el ejemplo anterior quedaría como:
int arreglo[] = new int [MAX];
for (int i=0; i < MAX; i++) {
arreglo [i] = i;
}
Donde MAX es una constante (definida así al usar la cláusula final) que valdrá 10 durante la ejecución del método, clase o parte donde se encuentre definida.
Sacando el mayor de un arreglo
Cuando deseamos obtener el valor mayor de todos los valores definidos en un arreglo, debemos recorrer todo el arreglo y utilizar una variable que nos ayude en esta comparación. La mejor manera de inicializar esta variable es utilizar el primer valor del arreglo, por ejemplo:
int mayor = arreglo[0]; // se toma el primer valor como el mayor
// se revisa cada elemento en el arreglo empezando por el segundo
for (int i=1; i < arreglo.length; i++) {
// si el elemento del arreglo es mayor
if (arreglo[i] > mayor) {
mayor = arreglo[i]; // cambiamos el valor del mayor
}
}
System.out.println(“El valor mayor es “ + mayor);
Tomando el índice en el que se encuentra
Para hacer esto definimos otra variable, la cual debe empezar con 1 y si el valor del arreglo es mayor, además de hacer el cambio de mayor, actualizamos la posición de donde se encontró el mayor, el ejemplo quedaría como:
int posición = 0;
int mayor = arreglo[0]; // se toma el primer valor como el mayor
// se revisa cada elemento en el arreglo desde el segundo
for (int i=1; i < arreglo.length; i++) {
// si el elemento del arreglo es mayor
if (arreglo[i] > mayor) {
mayor = arreglo[i]; // cambiamos el valor del mayor
posicion = i; // se actualiza la posicion
}
}
System.out.println(“El valor mayor es “ + mayor);
System.out.println(“Y esta en la posicion “ + (posición+1));
Si queremos saber en que posición se encontró el mayor valor, entonces debemos utilizar un índice, el cual empieza en 0 (si es que tomamos como referencia inicial el primer valor) y después al detectar que el valor del arreglo es mayor, se hace el cambio con mayor y se actualiza la posición, al desplegar la posición le añadimos uno mas, ya que empieza desde cero.
Sacando el menor de un arreglo y su posición
Para obtener el valor menor, solo se cambia la comparación y en lugar de comparar contra mayor, solo se compara contra menor, el ejemplo lo vemos como sigue:
int posición = 0;
int menor = arreglo[0]; // se toma el primer valor como el menor
// se revisa cada elemento en el arreglo desde el segundo
for (int i=1; i < arreglo.length; i++) {
// si el elemento del arreglo es menor
if (arreglo[i] < menor) {
menor = arreglo[i]; // cambiamos el valor del menor
posicion = i; // se actualiza la posicion
}
}
System.out.println(“El valor menor es “ + menor);
System.out.println(“Y esta en la posicion “ + posicion);
Obteniendo el promedio del arreglo
Para obtener el promedio de un arreglo, se debe de sumar los elementos y dividir entre cuantos sean, el ejemplo lo vemos como sigue:
double suma = 0; // se inicializa la suma en cero
// se tomara cada elemento para sumarlo
for (int i=0; i < arreglo.length; i++) {
suma += arreglo[i];
}
promedio = suma / arreglo.length;
System.out.println(“El promedio es “ + promedio);