Cómo comprobar si un array en Java tiene una longitud específica

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un array en Java tiene una longitud específica. Comenzaremos entendiendo cómo determinar el tamaño de un array utilizando la propiedad incorporada length.

A continuación, aprenderás cómo comparar la longitud del array con un valor esperado para verificar si coincide con un tamaño deseado. Finalmente, exploraremos cómo manejar arrays nulos al comprobar su longitud para evitar posibles errores.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") subgraph Lab Skills java/if_else -.-> lab-560000{{"Cómo comprobar si un array en Java tiene una longitud específica"}} java/arrays -.-> lab-560000{{"Cómo comprobar si un array en Java tiene una longitud específica"}} java/arrays_methods -.-> lab-560000{{"Cómo comprobar si un array en Java tiene una longitud específica"}} java/exceptions -.-> lab-560000{{"Cómo comprobar si un array en Java tiene una longitud específica"}} end

Utilizar la propiedad length para el tamaño de un array

En este paso, aprenderemos cómo determinar el tamaño de un array en Java utilizando la propiedad length. Comprender el tamaño de un array es fundamental para iterar a través de sus elementos o realizar operaciones que dependen del número de elementos que contiene.

En Java, los arrays tienen una propiedad incorporada llamada length que almacena el número de elementos que el array puede contener. Esta propiedad es una variable final, lo que significa que su valor no se puede cambiar después de que se crea el array.

Vamos a crear un sencillo programa en Java para demostrar cómo utilizar la propiedad length.

  1. Abre el archivo HelloJava.java en el editor WebIDE si no está abierto.

  2. Reemplaza todo el contenido del archivo con el siguiente código:

    public class HelloJava {
        public static void main(String[] args) {
            // Declare and initialize an integer array
            int[] numbers = {10, 20, 30, 40, 50};
    
            // Get the length of the array using the length property
            int arraySize = numbers.length;
    
            // Print the size of the array
            System.out.println("The size of the array is: " + arraySize);
        }
    }

    Veamos las nuevas partes de este código:

    • int[] numbers = {10, 20, 30, 40, 50};: Esta línea declara un array de enteros llamado numbers y lo inicializa con cinco valores enteros.
    • int arraySize = numbers.length;: Aquí es donde utilizamos la propiedad length. numbers.length accede al tamaño del array numbers, y almacenamos este valor en una variable entera llamada arraySize.
    • System.out.println("The size of the array is: " + arraySize);: Esta línea imprime el valor almacenado en la variable arraySize en la consola.
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Ahora, vamos a compilar nuestro programa modificado. En la Terminal, asegúrate de estar en el directorio ~/project ejecutando cd ~/project. Luego, ejecuta:

    javac HelloJava.java

    Si la compilación es exitosa, no verás ninguna salida.

  5. Finalmente, vamos a ejecutar nuestro programa:

    java HelloJava

    Deberías ver la siguiente salida:

    The size of the array is: 5

    Esta salida confirma que la propiedad length devolvió correctamente el número de elementos en nuestro array numbers.

Comprender cómo obtener el tamaño de un array es crucial para muchas tareas de programación, como recorrer todos los elementos o asignar memoria para nuevos arrays.

Comparar con la longitud esperada

En este paso, aprovecharemos nuestro conocimiento de la propiedad length comparando el tamaño real de un array con un tamaño esperado. Esta es una tarea común en la programación, especialmente al validar la entrada o garantizar la integridad de los datos.

Podemos utilizar declaraciones condicionales (como declaraciones if) para verificar si la longitud del array coincide con un valor específico.

Vamos a modificar nuestro programa HelloJava.java para comparar la longitud del array con un valor esperado.

  1. Abre el archivo HelloJava.java en el editor WebIDE.

  2. Reemplaza el código actual con el siguiente:

    public class HelloJava {
        public static void main(String[] args) {
            int[] numbers = {10, 20, 30, 40, 50};
            int expectedSize = 5; // We expect the array to have 5 elements
    
            int arraySize = numbers.length;
    
            System.out.println("The size of the array is: " + arraySize);
            System.out.println("The expected size is: " + expectedSize);
    
            // Compare the actual size with the expected size
            if (arraySize == expectedSize) {
                System.out.println("The array size matches the expected size.");
            } else {
                System.out.println("The array size does NOT match the expected size.");
            }
        }
    }

    Esto es lo nuevo:

    • int expectedSize = 5;: Declaramos una variable entera expectedSize y la establecemos en 5, que es el tamaño que esperamos que tenga nuestro array numbers.
    • System.out.println("The expected size is: " + expectedSize);: Imprimimos el tamaño esperado para mayor claridad.
    • if (arraySize == expectedSize): Esta es una declaración if que verifica si el valor de arraySize es igual al valor de expectedSize. El operador == se utiliza para la comparación.
    • System.out.println("The array size matches the expected size.");: Esta línea se ejecuta si la condición en la declaración if es verdadera (los tamaños coinciden).
    • else: Esta palabra clave introduce el bloque de código que se ejecutará si la condición en la declaración if es falsa.
    • System.out.println("The array size does NOT match the expected size.");: Esta línea se ejecuta si la condición en la declaración if es falsa (los tamaños no coinciden).
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa modificado en la Terminal:

    javac HelloJava.java
  5. Ejecuta el programa compilado:

    java HelloJava

    Deberías ver una salida similar a esta:

    The size of the array is: 5
    The expected size is: 5
    The array size matches the expected size.

    Esta salida muestra que nuestro programa comparó correctamente el tamaño real del array (5) con el tamaño esperado (5) e imprimió el mensaje adecuado.

Puedes intentar cambiar el valor de expectedSize o agregar/eliminar elementos del array numbers para ver cómo cambia la salida. Este ejercicio te ayuda a entender cómo funciona la lógica condicional con las propiedades de los arrays.

Probar con arrays nulos

En este último paso, exploraremos qué sucede cuando intentas acceder a la propiedad length de un array que no ha sido inicializado o que es null. Comprender cómo manejar valores null es crucial para prevenir errores en tus programas.

En Java, una variable que se declara pero no se le asigna una referencia a un objeto tiene un valor predeterminado de null. Si intentas acceder a una propiedad o método de un objeto null, Java lanzará una NullPointerException. Este es un error de tiempo de ejecución común que encontrarás en la programación en Java.

Vamos a modificar nuestro programa para ver qué sucede cuando intentamos acceder a la length de un array null y cómo manejarlo de manera adecuada.

  1. Abre el archivo HelloJava.java en el editor WebIDE.

  2. Reemplaza el código actual con el siguiente:

    public class HelloJava {
        public static void main(String[] args) {
            int[] numbers = null; // Declare an array but set it to null
    
            // Attempt to access the length property (this will cause an error)
            // int arraySize = numbers.length; // Commenting this out to prevent error
    
            // How to safely check for null before accessing length
            if (numbers != null) {
                int arraySize = numbers.length;
                System.out.println("The size of the array is: " + arraySize);
            } else {
                System.out.println("The array is null. Cannot get its length.");
            }
        }
    }

    Aquí está un desglose de los cambios:

    • int[] numbers = null;: Declaramos el array numbers pero establecemos explícitamente su valor en null. Esto significa que la variable numbers actualmente no se refiere a un objeto de array real en la memoria.
    • // int arraySize = numbers.length;: Hemos comentado la línea que intenta acceder directamente a numbers.length. Si ejecutáramos este código sin la comprobación if, resultaría en una NullPointerException.
    • if (numbers != null): Esta es la parte crucial para manejar null. Usamos una declaración if para verificar si la variable numbers no es null. El operador != significa "no igual a".
    • int arraySize = numbers.length; System.out.println("The size of the array is: " + arraySize);: Este bloque de código solo se ejecuta si numbers no es null. Dentro de este bloque, es seguro acceder a numbers.length.
    • else: Este bloque se ejecuta si la condición if es falsa, lo que significa que numbers es null.
    • System.out.println("The array is null. Cannot get its length.");: Este mensaje se imprime cuando el array es null, informando al usuario que no se puede determinar su longitud.
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa modificado en la Terminal:

    javac HelloJava.java
  5. Ejecuta el programa compilado:

    java HelloJava

    Deberías ver la siguiente salida:

    The array is null. Cannot get its length.

    Esta salida demuestra que nuestro programa identificó correctamente que el array era null y manejó la situación sin lanzar una NullPointerException.

Manejar valores null es una habilidad muy importante en la programación en Java. Siempre verifica si una referencia a un objeto es null antes de intentar acceder a sus propiedades o métodos para evitar errores de tiempo de ejecución.

Resumen

En este laboratorio, aprendimos cómo determinar el tamaño de un array en Java utilizando la propiedad incorporada length. Esta propiedad proporciona una forma sencilla de acceder al número de elementos que un array puede contener. Demostramos esto creando un array de enteros, accediendo a su length e imprimiendo el resultado.

Los pasos siguientes probablemente se basarán en este concepto fundamental para comparar el tamaño del array con una longitud esperada y manejar posibles escenarios de arrays nulos, lo que reforzará aún más nuestra comprensión de la manipulación de arrays en Java.