Aprende Java Fácil. La visita del primo de Rich. Arrays aleatorios

Capítulo 7. La visita del primo de Rich. Arrays

Hoy he recibido una visita inesperada. Aún estoy un poco aturdido. Alrededor de las 12 de la mañana, un carcelero vino a buscarme y me llevó a la sala de visitas. Pensé que sería mi madre o quizás el abogado, pero era el primo de Chani. Yo nunca lo había visto, así que no sabía que era él hasta que se presentó.

Estuve unos cuantos segundos en silencio. Sentía cómo me iba enfadando poco a poco, hasta que empecé a maldecir y a trabarme, ya que quería expresar muchas cosas al mismo tiempo. En cierto momento, uno de los guardias se acercó y me pidió que me calmara. La verdad es que fue un buen desahogo. Después de eso, me sentía bastante más tranquilo y dispuesto a ver qué me tenía que decir.

Aparte de enfadado, tenía mucha curiosidad. Todas las respuestas que llevaba anhelando durante semanas estaban justo enfrente de mí. Quería saber exactamente en qué líos estaba metido Chani, por qué lo había hecho y, sobre todo, por qué me había inculpado a mí. Quizás había sido todo un error. Puede que estuviese arrepentido y quisiese exculparme. Se me pasaban cantidad de preguntas por la cabeza y no sabía por cuál empezar.

Justo iba a decir algo cuando me interrumpió. Me dijo que sabía lo que pensaba, que sabía que yo creía que Chani era el culpable, pero que no era así. Aunque todas las pruebas apuntaban hacia él, en realidad era inocente.

Me parecía bastante difícil de creer, así que le pregunté que cómo estaba tan seguro. Entonces me dijo que Chani le había enviado para contarme la verdadera historia. Otra vez volví a enfurecer. Le dije que, si sabía dónde estaba Chani, debía decirlo o sería culpable por encubrirle. De nuevo, el guardia vino a llamarme la atención.

Una vez que me calmé, el primo procedió a contarme la historia. Según él, Chani no tenía nada que ver. No le quedó más remedio que huir cuando descubrió el plan de los verdaderos culpables: Rich y Fernando.

Parece ser que el día antes de la fiesta, Chani llegó a casa y se fue directo a su habitación. Fernando y Rich estaban en el salón y no se percataron de su presencia. Sin miedo a ser descubiertos, comenzaron a comentar su plan. En ese momento estaban consiguiendo el software ilegal que utilizarían después para extorsionar a empresas.

Chani recibió una llamada y fue descubierto. Los tres se sentaron en el salón, y fue en ese momento cuando se dio cuenta de que estaban utilizando mi ordenador. Al verse acorralados, no tuvieron más remedio que ofrecerle participar en el delito. Le explicaron el plan con todo detalle, incluida la parte en la que, si algo malo pasaba, me culparían a mí.

Pese a la insistencia, Chani se negó. Fue entonces cuando le amenazaron. Se les ocurrió una forma de incriminarle si no colaboraba. Le recomendaron que lo pensara durante algunas horas y que al día siguiente querían una respuesta definitiva.

Durante la noche obtuvieron esa respuesta. Pero no fue lo que esperaban. Así que la cosa se puso aún más tensa y le amenazaron físicamente. Le obligaron a marcharse cuanto antes y, además, le coaccionaron para que no dijera nada.

La historia tenía sentido, pero no me la creía. Rich es mi amigo. Nunca me haría una cosa así. Después de unos segundos de silencio, me miró fijamente y me preguntó si le creía. Le respondí que no, y entonces sacó su teléfono. Me enseñó una grabación de audio de la noche de la fiesta en la que se escuchaba a Rich diciéndole que se fuera esa misma noche y no volviera más.

Chani trató de buscar pruebas en su contra, pero en la fiesta había mucho ruido y Rich es muy astuto. De esa conversación solo se puede distinguir la parte en la que le dice que se marche de la ciudad esa misma noche.

Parece que Chani tiene un plan para desenmascarar a Rich, pero es posible que necesite mi ayuda. No sé cómo puedo ayudar desde aquí encerrado. Quizás en alguna de sus visitas pueda obtener una confesión o al menos algo de información. Lo malo de estar incomunicado no solo es la falta de información, sino que tampoco soy muy útil.

Después de la breve conversación, volví a mi celda. Aún estoy procesando la información. Rich ha venido a visitarme varias veces y siempre me ha parecido muy preocupado. No lo esperaba, pero tiene sentido. Ahora solo espero que venga a verme de nuevo, así podré aclarar las cosas cara a cara.

Para intentar pensar en otra cosa, le he pedido a Bud que sigamos con las clases de Java. Parece especialmente motivado. Me ha dicho que, una vez que aprenda lo que son los arrays, podrá explicarme exactamente cómo ayuda a los funcionarios con el software de la cárcel. De momento, no quiero contarle nada sobre mi situación personal. Sé que le preocuparía. Así que, de momento, pongo buena cara e intento aprender algo.

Arreglos o arrays

 

En Java, los arrays son una forma básica de almacenar varios valores del mismo tipo en una sola variable. A diferencia de las variables normales que solo pueden contener un valor, un array puede almacenar varios valores, llamados elementos, que se organizan en un orden específico y se acceden usando números llamados índices.

Un array se crea indicando qué tipo de datos albergará y cuántos elementos almacenará. Por ejemplo, un array int de enteros con un tamaño de 5 puede guardar cinco números enteros. Los arrays en Java empiezan a contar desde 0, por lo que el primer elemento está en la posición 0.

 

Importancia de los arreglos en programación

 

  • Permiten organizar datos de manera estructurada, lo que facilita su acceso y manipulación.
  • Con arrays, podemos almacenar grandes cantidades de datos relacionados de manera eficiente y acceder a ellos a través de índices, en lugar de gestionar muchas variables independientes.
  • Los elementos de un array se pueden acceder de manera rápida usando su índice, lo que es crucial para aplicaciones que necesitan operaciones rápidas y frecuentes de lectura o modificación de datos.
  • Además, los arrays permiten realizar operaciones comunes como iteración, búsqueda, clasificación y manipulación de datos de manera sencilla. Muchos algoritmos y estructuras de datos se basan en arrays por su simplicidad y eficiencia, como los algoritmos de clasificación y búsqueda.
  • En aplicaciones reales, los arrays se utilizan ampliamente, desde el desarrollo de juegos hasta el procesamiento de datos y aplicaciones científicas, donde son esenciales para gestionar grandes conjuntos de datos y realizar cálculos numéricos complejos.

 

Declaración de Arrays

 

La declaración de un array en Java se realiza especificando el tipo de datos de los elementos que contendrá, seguido de corchetes [] y el nombre del array.

 

Paso 1: declarar el array

 

tipo[] nombreArray;

Ejemplos:

int[] numeros; // Declaración de un array de enteros

String[] nombres; // Declaración de un array de cadenas

double[] temperaturas; // Declaración de un array de dobles

 

Paso 2. Crear el array

 

nombreArray = new tipo[tamaño];

Ejemplos:

numeros = new int[5]; // Crea un array de enteros con 5 elementos

nombres = new String[3]; // Crea un array de cadenas con 3 elementos

temperaturas = new double[7]; // Crea un array de dobles con 7 elementos

Ahora bien, casi nunca vas a utilizar esta estructura. Es mucho más simple, rápido y eficaz si lo hacemos todo en la misma línea. Además de que para ti va a ser bastante más fácil de recordar.

 

Declaración y Creación en una Sola Línea

 

tipo[] nombreArray = new tipo[tamaño];

Ejemplos:

int[] numeros = new int[5]; // Declaración y creación de un array de enteros con 5 elementos.

String[] nombres = new String[3]; // Declaración y creación de un array de cadenas con 3 elementos.

double[] temperaturas = new double[7]; // Declaración y creación de un array de dobles con 7 elementos.

Asignando valor a los Arrays

int[] numeros = new int[5];

numeros[0] = 10;

numeros[1] = 20;

numeros[2] = 30;

numeros[3] = 40;

numeros[4] = 50;

Ahora cada elemento de nuestro array tiene un valor. Por ejemplo, si queremos mostrar por pantalla la posición número 5 lo haremos de la siguiente forma:

System.out.println(numeros[4]);

 

String[] nombres = new String[3];

 

nombres[0] = «Lucía»; nombres[1] = «Pedro»; nombres[2] = «Luís»;

No es necesaria más explicación teórica. Este tema es bastante sencillo de comprender simplemente viendo los ejercicios. Al menos de momento. Solo he mostrado ejemplos de números naturales (Variables tipo int) y texto (Variables tipo String). Pero está claro que, por ejemplo, podemos usar números con decimales si utilizamos un double o caracteres con un char. Para este último en vez de entrecomillar utilizando » » lo haríamos con ‘ ‘.

Da igual el tipo de variable que sea, siempre se sigue la misma estructura.

 

Asignando valor a los arrays en una sola línea

 

En algunas ocasiones vas a encontrarte con corchetes en los arrays. También sirven para asignarles valor. Esta es la estructura que se utiliza con este propósito:

–      tipo[] nombreArray = {valor1, valor2, valor3, …};

Como no, vamos a verlo con un ejemplo. Empezamos con un array tipo int con 5 elementos. Les asignamos valor y mostramos el elemento 5. Recuerda que el array siempre empieza en la posición 0. Así que en la posición 4 se encuentra nuestro quinto elemento.

int[] numeros = {10, 20, 30, 40, 50}; System.out.println(numeros[4]);

Ahora seguimos con nuestro ejemplo de texto. Tenemos tres nombres y declaráramos y asignamos valor a un array en una sola línea.

–      String[] nombres = {«Lucía», «Pedro», «Luís»};

Como se puede apreciar, a simple vista esta forma de crear los arrays y asignarles valor es mucho más simple. El código queda más ordenado y elegante. Aunque no todo son ventajas. Al no tener indicada la posición de cada elemento, a veces podemos perdernos y liarnos un poco. Como comentaba antes, el array siempre empieza en la posición cero y va subiendo hasta el máximo de elementos que tenemos. Tener la posición al lado de cada valor resulta muy conveniente y, con una simple ojeada, visualizamos todo el esquema de nuestro array en nuestra cabeza.

 

Recorrer Arrays Utilizando Bucles en Java

 

Recorrer un array significa acceder a cada uno de sus elementos uno por uno. Los bucles son herramientas esenciales para esta tarea, ya que permiten iterar sobre los elementos de un array de manera sencilla y eficiente. Lo más sencillo para esta tarea es utilizar un bucle for.

 

Ejemplo: Recorrer un Array de Enteros usando un Bucle for

 

public class Main {

        public static void main(String[] args) { 

               int[] numeros = {1, 2, 3, 4, 5};

               // Sabemos que el tamaño del array es 5 

              for (int i = 0; i < 5; i++) {

                     System.out.println(numeros[i]);

              }

       }

}

 

Ejemplo: Recorrer un array de cadenas (Strings)

 

public class Main {

      public static void main(String[] args) {

           String[] colores = {"Rojo", "Verde", "Azul", "Amarillo"};

           // Sabemos que el tamaño del array es 4 

           for (int i = 0; i < 4; i++) {

                    System.out.println(colores[i]);

            }

     }

}

 

Ejemplo: Recorrer un array de caracteres (char)

 

public class Main {

        public static void main(String[] args) { 

               char[] letras = {'A', 'B', 'C'};

               // Sabemos que el tamaño del array es 3 

               for (int i = 0; i < 3; i++) {

                      System.out.println(letras[i]);

              }

       }

}

Fíjate que en todos los ejemplos la primera posición del bucle es 0 ya que los arrays siempre empiezan desde 0.

Resumen de lo aprendido

En Java, un array es una estructura que permite almacenar múltiples valores del mismo tipo en una sola variable. A diferencia de una variable normal que solo puede contener un valor, un array puede almacenar varios valores, llamados elementos. Estos elementos se organizan en un orden específico y se acceden mediante índices numéricos, empezando desde 0.

Declaración y Creación de Arrays

  • Declaración: Consiste en especificar el tipo de datos que contendrá el array y darle un nombre.
  • Creación: Implica asignar memoria para el array, definiendo cuántos elementos podrá almacenar.
  • Declaración y Creación en una Sola Línea: Para simplificar y hacer el código más eficiente, se puede declarar y crear un array en una sola línea.

Asignación de Valores a un Array

Los valores se asignan a los elementos del array utilizando su índice. Esto permite acceder y modificar cada elemento del array directamente a través de su índice.

Asignación de Valores en una sola Línea

Es posible asignar valores a un array directamente al momento de declararlo y crearlo, lo que resulta en un código más limpio y fácil de leer.

Recorrer Arrays Usando Bucles

Para acceder a cada elemento de un array, se utilizan bucles como el bucle for. Este tipo de bucle es eficiente para iterar sobre cada elemento del array y realizar diversas operaciones con ellos.