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.
Utilizar la propiedad length para el tamaño del 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.
Abre el archivo
HelloJava.javaen el editor WebIDE si no está abierto.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 llamadonumbersy lo inicializa con cinco valores enteros.int arraySize = numbers.length;: Aquí es donde utilizamos la propiedadlength.numbers.lengthaccede al tamaño del arraynumbers, y almacenamos este valor en una variable entera llamadaarraySize.System.out.println("The size of the array is: " + arraySize);: Esta línea imprime el valor almacenado en la variablearraySizeen la consola.
Guarda el archivo (Ctrl+S o Cmd+S).
Ahora, vamos a compilar nuestro programa modificado. En la Terminal, asegúrate de estar en el directorio
~/projectejecutandocd ~/project. Luego, ejecuta:javac HelloJava.javaSi la compilación es exitosa, no verás ninguna salida.
Finalmente, vamos a ejecutar nuestro programa:
java HelloJavaDeberías ver la siguiente salida:
The size of the array is: 5Esta salida confirma que la propiedad
lengthdevolvió correctamente el número de elementos en nuestro arraynumbers.
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.
Abre el archivo
HelloJava.javaen el editor WebIDE.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 enteraexpectedSizey la establecemos en 5, que es el tamaño que esperamos que tenga nuestro arraynumbers.System.out.println("The expected size is: " + expectedSize);: Imprimimos el tamaño esperado para mayor claridad.if (arraySize == expectedSize): Esta es una declaraciónifque verifica si el valor dearraySizees igual al valor deexpectedSize. 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ónifes 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ónifes 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ónifes falsa (los tamaños no coinciden).
Guarda el archivo (Ctrl+S o Cmd+S).
Compila el programa modificado en la Terminal:
javac HelloJava.javaEjecuta el programa compilado:
java HelloJavaDeberí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.
Abre el archivo
HelloJava.javaen el editor WebIDE.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 arraynumberspero establecemos explícitamente su valor ennull. Esto significa que la variablenumbersactualmente 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 anumbers.length. Si ejecutáramos este código sin la comprobaciónif, resultaría en unaNullPointerException.if (numbers != null): Esta es la parte crucial para manejarnull. Usamos una declaraciónifpara verificar si la variablenumbersno esnull. 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 sinumbersno esnull. Dentro de este bloque, es seguro acceder anumbers.length.else: Este bloque se ejecuta si la condiciónifes falsa, lo que significa quenumbersesnull.System.out.println("The array is null. Cannot get its length.");: Este mensaje se imprime cuando el array esnull, informando al usuario que no se puede determinar su longitud.
Guarda el archivo (Ctrl+S o Cmd+S).
Compila el programa modificado en la Terminal:
javac HelloJava.javaEjecuta el programa compilado:
java HelloJavaDeberí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
nully manejó la situación sin lanzar unaNullPointerException.
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.



