Diario de un
programador.- Dia 89
Arreglos,
vectores, arrays...
Para mostrar la sintaxis de los
arreglos en Java, me basaré en los ejemplos propuestos en su oportunidad para
el lenguaje Small Basic (Capitulo 12) y puede que agregue algunos extras que se
me ocurran en el camino.
La sintaxis para crear un arreglo dice
así:
TipoDeDato nombreDelArreglo[] = new
tipoDeDato[dimension]
TipoDeDato = Se refiere a que si será
un arreglo de tipo int, float, etc.
nombreDelArreglo[] = Al igual que las
variables, los arreglos necesitan un nombre y utilizan llaves de corchete.
new tipoDeDato[dimension] = Se crea un
arreglo y se asigna la cantidad de elementos que puede contener[dimensión]. Por
ejemplo, si la dimensión es de 5, entonces el arreglo puede contener solo 5
elementos.
Por ejemplo, para crear un arreglo de
4 elementos, se puede hacer así:
Int[] edades = new int[4];
El arreglo “edades” tiene 4 elementos.
A diferencia de Small Basic, el primer
elemento del arreglo es cero. O sea
que en este caso, el arreglo es...
edades[0]
edades[1]
edades[2]
edades[3]
Ahí están los 4 elementos del arreglo.
Como se puede ver el primer elemento es cero y el último es N-1, donde N
corresponde al número indicado en la dimensión del arreglo.
El ejemplo mostrado a continuación,
será un promedio de 3 números, los cuales serán solicitados al usuario.
import
java.util.Scanner;
public class
ejemplo01 {
public static void main(String[]args){
Scanner ingreso = new
Scanner(System.in);
int suma = 0,promedio, i;
int numero[] = new int[3];
System.out.println("Ingresa 3 numeros.");
for(
i = 0; i < 3; i++){
System.out.println("Elemento
nro. " +
(i+1));
numero[i] = ingreso.nextInt();
suma =
suma + numero[i];
}//fin for
promedio = suma / 3;
System.out.println("El promedio es: "+ promedio);
}//fin main
}//fin class
Arreglos
1.1 (actualización Abril 2016)
En caso de que el programador quiera
asignar valores al arreglo, esto se
puede realizar de la siguiente manera.
Sintaxis
tipoDeDato nombreArreglo[] = {dato1,
dato2, dato3... datoN};
En el ejemplo del código anterior,
esto quedaría así:
int numero[] = {8, 12, 7};
De esta forma, al estar asignados los
valores a cada índice del arreglo, no se utiliza la línea “new int[dimension]”.
Y el corchete no lleva un número que asigne la cantidad de elementos, ya que la
cantidad de elementos corresponden a los asignados entre las llaves {}
Ejemplo:
public class
ejemplo01 {
public static void main(String[]args){
int suma = 0,promedio, i;
int numero[] = {8, 12, 7};
for( i = 0; i < 3; i++){
suma = suma + numero[i];
}//fin for
promedio =
suma / 3;
System.out.println("El promedio es: "+ promedio);
}//fin main
}//fin class
En el siguiente ejemplo se solicita al
usuario que ingrese un índice. Dependiendo de qué número se ingrese, se verá el
nombre asociado a ese índice. El primer nombre del arreglo es “Gustavo”, el
cual se encuentra en el índice cero. El siguiente el “Ximena”, nombre ubicado
en el el índice 1 y por último, “Javiera”, en el índice 2.
import
java.util.Scanner;
public class
ejemplo01 {
public static void main(String[]args){
Scanner ingreso = new
Scanner(System.in);
String nombres[] = {"Gustavo",
"Ximena", "Javiera"};
int indice;
System.out.println("Que indice consultaras?: ");
System.out.println("Indices
disponibles: 0, 1, 2");
indice =
ingreso.nextInt();
switch(indice){
case 0:
System.out.println(nombres[0]);
break;
case 1:
System.out.println(nombres[1]);
break;
case 2:
System.out.println(nombres[2]);
break;
default:
System.out.println("Opcion no es valida");
break;
}//fin
switch
}//fin main
}//fin class
Modificando los arreglos
Para modificar un dato de
un arreglo, simplemente hay que indicar el índice a modificar. Ejemplo
arreglo[]
= {1, 2, 3, 4, 5};
arreglo[2]
= 10;
arreglo[]
= {1, 2, 10, 4, 5};
La segunda variable modifica el índice número 2 del arreglo y en la tercera variable se pude ver la modificación realizada.
Ejemplo
en un programa.
import java.util.Scanner;
public class ejemplo01 {
public
static void main(String[]args){
Scanner
ingreso = new Scanner(System.in);
int
numeros[] = {10, 20, 30};
int
indice;
System.out.printf("Indice 0 = %d\nIndice 1 = %d\nIndice 2 =
%d\n",
numeros[0],numeros[1],numeros[2]);
System.out.print("Que
indice vas a cambiar: ");
indice = ingreso.nextInt();
System.out.print("Ingresa nuevo indice:
");
numeros[indice] =
ingreso.nextInt();
System.out.println("\nIndice
modificado!!!");
System.out.printf("Indice 0 =
%d\nIndice 1 = %d\nIndice 2 = %d\n",
numeros[0],numeros[1],numeros[2]);
}//fin main
}//fin
class
Arreglos
multidimensionales
Los arreglos también permiten
añadirles más de un índice. Cuando un arreglo tiene más de un índice, se le
conoce como arreglo multidimensional, siendo el arreglo de dos índices el de uso
más común, el cual es conocido como matriz.
La sintaxis para un arreglo de dos
dimensiones o matriz es la siguiente:
tipoDatos nombreArreglo[][] = new
tipoDatos[dimension][dimension]
Como se puede ver, la cantidad de
dimensiones del arreglo se puede apreciar por los corchetes que lleva.
Una matriz se caracteriza por estar
formada por filas y columnas. Aquí un ejemplo:
public class ejemplo01 {
public
static void main(String[]args){
String matriz[][] = new String[10][10];
int
fila, columna;
for(fila = 0; fila < 10;
fila++){
for(columna = 0; columna < 10;
columna++){
matriz[fila][columna]
= "#";
System.out.print(matriz[fila][columna]);
}
System.out.print("\n");
}
}//fin main
}//fin
class
En los siguientes enlaces se pueden apreciar códigos que muestran cómo crear y mostrar matrices y arreglos, además de realizar operaciones como sumar una matriz, cómo sumar un arreglo, cómo sumar filas y columnas a las matrices.
Eso es todo por ahora, si las
matrices no quedaron muy claras, siempre se puede revisar el capitulo 12 donde
quedó mejor explicado de que se trata. Como he dicho, en estos capítulos
trataré de no extenderme mucho ya que es una materia ya vista. Solamente
trataré de explicar la sintaxis en cada idioma.
Gustavo J. Cerda Nilo
No hay comentarios:
Publicar un comentario