Arrays de una dimensión en java

Un array es un tipo de dato capaz de almacenar múltiples valores. Se utiliza para agrupar datos muy parecidos, por ejemplo, si se necesita almacenar la temperatura media diaria en Málaga durante el último año se pueden utilizar las variables temp0, temp1, temp2, temp3, temp4, … y así hasta 365 variables distintas pero sería poco práctico; es mejor utilizar un array de nombre temp y usar un índice para referanciar la temperatura de un día concreto del año.
En matemáticas, un array de una dimensión se llama vector. En este libro no utilizaremos este término para no confundirlo con la clase Vector de Java. Veamos con un ejemplo cómo se crea y se utiliza un array.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
public class Array01 {
 public static void main(String[] args) {
  int[] n; // se define n como un array de enteros
  n = new int[4]; // se reserva espacio para 4 enteros
  n[0] = 26;
  n[1] = -30;
  n[2] = 0;
  n[3] = 100;
  System.out.print("Los valores del array n son los siguientes: ");
  System.out.print(n[0] + ", " + n[1] + ", " + n[2] + ", " + n[3]);
  int suma = n[0] + n[3];
  System.out.println("\nEl primer elemento del array más el último suman " + suma);
 }
}

Observa que el índice de cada elemento de un array se indica entre corchetes de tal forma que n[3] es el cuarto elemento ya que el primer índice es el 0.
Fíjate que la definición del array y la reserva de memoria para los cuatro elementos que la componen se ha realizado en dos líneas diferentes. Se pueden hacer ambas cosas en una sola línea como veremos en el siguiente ejemplo.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
public class Array02 {
  public static void main(String[] args) {
  // definición del array y reserva de memoria en la misma línea
  int[] x = new int[5];
  x[0] = 8;
  x[1] = 33;
  x[2] = 200;
  x[3] = 150;
  x[4] = 11;
  System.out.println("El array x tiene 5 elementos ¿cuál de ellos quiere ver?");
  System.out.print("Introduzca un número del 0 al 4: ");
  int indice = Integer.parseInt(System.console().readLine());
  System.out.print("El elemento que se encuentra en la posición " + indice);
  System.out.println(" es el " + x[indice]);
 }
}

El array x del ejemplo anterior se ha ido rellenando elemento a elemento. Si se conocen previamente todos los valores iniciales del array, se puede crear e inicializar en una sola línea de la siguiente forma
 int[] x = {8, 33, 200, 150, 11};
Cada elemento del array se puede utilizar exactamente igual que cualquier otra variable, es decir, se le puede asignar un valor o se puede usar dentro de una
expresión. En el siguiente ejemplo se muestran varias operaciones en las que los operandos son elementos del array num. Para recorrer todos los elementos de un array se suele utilizar un bucle for junto con un índice que va desde 0 hasta el tamaño del array menos 1.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
public class Array03 {
 public static void main(String[] args) {
  int[] num = new int[10];
  num[0] = 8;
  num[1] = 33;
  num[2] = 200;
  num[3] = 150;
  num[4] = 11;
  num[5] = 88;
  num[6] = num[2] * 10;
  num[7] = num[2] / 10;
  num[8] = num[0] + num[1] + num[2];
  num[9] = num[8];
  System.out.println("El array num contiene los siguientes elementos:");
  for (int i = 0; i < 10; i++) {
   System.out.println(num[i]);
  }
 }
}

En Java, a diferencia de otros lenguajes como Ruby o PHP, todos los elementos de un array deben ser del mismo tipo; por ejemplo, no puede haber un entero en la posición 2 y una cadena de caracteres en la posición 7 del mismo array. En el siguiente ejemplo se muestra un array de caracteres.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
public class Array04 {
 public static void main(String[] args) {
  char[] caracter = new char[6];
  caracter[0] = 'R';
  caracter[1] = '%';
  caracter[2] = '&';
  caracter[3] = '+';
  caracter[4] = 'A';
  caracter[5] = '2';
  System.out.println("El array caracter contiene los siguientes elementos:");
  for (int i = 0; i < 6; i++) {
   System.out.println(caracter[i]);
  }
 }
}
En el siguiente ejemplo se muestra un array de números de tipo double que almacena notas de alumnos.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
public class Array05 {
 public static void main(String[] args) {
  double[] nota = new double[4];
  System.out.println("Para calcular la nota media necesito saber la ");
  System.out.println("nota de cada uno de tus exámenes.");
  for (int i = 0; i < 4; i++) {
   System.out.print("Nota del examen nº " + (i + 1) + ": ");
  nota[i] = Double.parseDouble(System.console().readLine());
  }
  System.out.println("Tus notas son: ");
  double suma = 0;
  for (int i = 0; i < 4; i++) {
   System.out.print(nota[i] + " ");
   suma += nota[i];
  }
  System.out.println("\nLa media es " + suma / 4);
 }
}

Compartir

0 Comment to "Arrays de una dimensión en java"

Publicar un comentario