English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo Java

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java lista (List)

Java cola (Queue)

Java conjuntos (Map)

Java conjuntos (Set)

Java entrada/salida (I/O)

Reader de Java/Writer

Temas de Java

Arreglos (Arrays) en Java

En este tutorial, aprenderemos a usar arrays en Java. Aprenderemos mediante ejemplos a declarar, inicializar y acceder a los elementos del array.

 Un array es una colección de datos de tipo similar. Es un contenedor que se utiliza para guardar datos de un solo tipo (valores). Por ejemplo, puede crear un array que pueda guardar100 valores de tipo int.

En Java, un array es una construcción básica que le permite almacenar y acceder a grandes cantidades de valores comunes.

¿Cómo se declara un array?

En Java, esta es la forma en que declaramos arrays.

dataType[] arrayName;

Vamos a dar un ejemplo

double[] data;

 Aquí, data es un array que puede guardar valores de tipo double.

¿Pero, ¿cuántos elementos puede contener?

 ¡Buena pregunta! Debemos asignar memoria al array. La memoria define el número de elementos que puede contener el array.

data = new Double[10];

 Aquí, el tamaño del array es10Esto significa que puede contener10elementos (10valores de tipo double)。El tamaño del array también se llama longitud del array.

Atención:Una vez que se define la longitud del array, no se puede cambiar en el programa.

Vamos a dar un ejemplo:

int[] age;
age = new int[5];

Este age es un array. Puede contener5valores de tipo int.

 En Java, podemos declarar y asignar la memoria del array en una sola instrucción. Por ejemplo:

int[] edad = new int[5];

Índice de array en Java

 En Java, cada elemento de un array está asociado con un número. Este número se llama índice del array. Podemos usar estos índices para acceder a los elementos del array. Por ejemplo:

int[] edad = new int[5];
Índice de array en Java

Aquí, tenemos un array de longitud5de un array. En la imagen, podemos ver que cada elemento está compuesto por un número (índice del array). Los índices del array siempre comienzan en 0.

Ahora, podemos usar números de índice para acceder a los elementos del array. Por ejemplo, para acceder al primer elemento del array, podemos usar age[0], para el segundo elemento usar age[1] para acceder, y así sucesivamente.

Atención:Si la longitud del array es n, el primer elemento del array será arrayName[0], y el último elemento será arrayName[n-1]);

Si no almacenamos ningún valor en el array, el array almacenará algunos valores predeterminados por separado (0 para el tipo int, false para el tipo booleano). Por ejemplo:

class ArrayExample {
    public static void main(String[] args) {
    
        //Crear un array de longitud5de un array 
        int[] edad = new int[5];
     
        //Acceder a cada elemento del array usando un número de índice
        System.out.println(age[0]);
        System.out.println(age[1]);
        System.out.println(age[2]);
        System.out.println(age[3]);
        System.out.println(age[4]);
    };
};

Salida:

0
0
0
0
0

 En el ejemplo anterior, creamos un array llamado age. Sin embargo, no le dimos un valor al array. Por lo tanto, cuando accedemos a los elementos del array, se imprimen valores predeterminados en la pantalla.

Aquí, accedemos a los elementos del array uno por uno. Hay un método mejor que usar un bucle (generalmentePara el bucle for)Acceder a los elementos del array. Por ejemplo:

class ArrayExample {
    public static void main(String[] args) {
        //Crear un array de longitud5de un array
        int[] edad = new int[5];
        //Acceder a los elementos usando un bucle for
        for (int i = 0; i < 5; ++i) {
            System.out.println(age[i]);
        };
    };
};

Salida:

0
0
0
0
0

¿Cómo inicializar un array en Java?

 En Java, podemos inicializar un array durante la declaración o inicializarlo más adelante según sea necesario en el programa.

Inicialización del array durante la declaración

 A continuación, se muestra cómo inicializar un array durante la declaración.

int[] edad = {12, 4, 5, 2, 5};

Esta instrucción crea un array llamado age y lo inicializa con los valores proporcionados entre los corchetes.

 La longitud del array se determina por el número de valores separados por comas dentro de los corchetes. En nuestro ejemplo, la longitud de age es5.

Inicialización de array de Java

Escribamos un programa simple para imprimir los elementos de este array.

class ArrayExample {
    public static void main(String[] args) {
        //Crear un array
        int[] edad = {12, 4, 5, 2, 5};
        // Acceder a los elementos del array mediante el valor del índice del array
        for (int i = 0; i < 5; ++i) {
            System.out.println("Índice del elemento ", + i +: ", + edad[i]);
        };
    };
};

Salida:

Índice del elemento 0: 12
Índice del elemento  1: 4
Índice del elemento  2: 5
Índice del elemento  3: 2
Índice del elemento  4: 5

¿Cómo acceder a los elementos del array?

Como se mencionó anteriormente, podemos acceder y modificar fácilmente los elementos del array utilizando índices numéricos. Por ejemplo,

class ArrayExample {
    public static void main(String[] args) {
        int[] edad = new int[5];
        //Insertar en el tercer elemento14
        edad[2]= 14;
        //Colocar34Insertar el primer elemento
        edad[0] = 34;
        for (int i = 0; i < 5; ++i) {
            System.out.println("Índice del elemento ", + i +: ", + edad[i]);
        };
    };
};

Salida:

Índice del elemento 0: 34
Índice del elemento 1: 0
Índice del elemento 2: 14
Índice del elemento 3: 0
Índice del elemento  4: 0

Ejemplo: Array de Java

 El siguiente programa calcula la suma y el promedio de los valores almacenados en un array de tipo int.

class SumAverage {
    public static void main(String[] args) {
        int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
        int suma = 0;
        Double promedio;
     
        //Usado para acceder a cada elemento en cada ciclo
        for (int número: numbers) {
            suma += número;
        };
     
        int arrayLength = numbers.length;
        //Cambiamos sum y la longitud del array a double, ya que el promedio average es double
        promedio = ((double)suma / (double)arrayLength);
        System.out.println("Suma = ", + suma);
        System.out.println("Promedio = ", + promedio);
    };
};

Salida:

Suma = 36
Promedio = 3.6

En el ejemplo anterior, creamos un array de números con nombre. Utilizamos el bucle for...each para acceder a cada elemento del array. Para obtener más información sobre el bucle for...each, visiteJava bucle for ... each.

En el bucle, calculamos la suma de cada elemento. Note esta línea,

int arrayLength = number.length;

Aquí, usamos la propiedad length del array para calcular el tamaño del array. Luego, usamos la siguiente fórmula para calcular el promedio:

average = ((double)sum / (double)arrayLength);

Como puede ver, estamos convirtiendo valores int a double. En Java, esto se llama conversión de tipo. Para obtener más información sobre la conversión de tipo, visiteJava 类型转换.

Matrices multidimensionales

 La matriz que mencionamos aquí se llama matriz unidimensional. Sin embargo, podemos declarar matrices multidimensionales en Java.
Las matrices multidimensionales son matrices de matrices. Es decir, cada elemento de una matriz multidimensional es una matriz en sí misma. Por ejemplo,

double[][] matrix = {{1.2, 4.3, 4.0}, 
      {4.1, -1.1};
};

Aquí, creamos una matriz multidimensional matrix. Es una matriz bidimensional. Para obtener más información, visiteJava Matrices multidimensionales.