viernes, 16 de septiembre de 2016

4-Arrays en Java

 4.1-Los Arrays en Java

En el tutorial número 3 del Tutorial Java para Principiantes vimos los tipos de datos primitivos como int, char, boolean... pero nos dejamos un tipo de dato sin ver para verlo con mayor amplitud más adelante. El tipo de dato que vimos es el array. En este apartado vamos a ver cómo se utilizan, como se declaran y algunos ejemplos de su uso.


4.1.1-¿Qué son los arrays en Java?

Los arrays son como un tipo de dato que almacena en memoria varios valores de un mismo tipo bajo un mismo nombre.  Cuando se crea un array con unos valores ya no se pueden incrementar ni reducir el número de esos valores, por lo que debemos tener claros los valores que van a contener cada array que creemos.
Vale, esto os puede sonar a chino, así que vamos a ver una declaración sencilla de un array.

double [] notas = {7.8D, 8.5D, 4.7D};


En el código anterior hemos creado un array de tipo double con 3 valores en su interior que son: 7.8, 8.5 y 4.7. Después de cada número ponemos la 'D' para decirle a Java que estamos utilizando datos Double (Esto se vio en tutoriales anteriores). La posición de un array empieza por 0, es decir, la nota 7.8 tendrá la posición 0 dentro del array, la nota 8.5 tendrá la posición 1 y la nota 4.7 tendrá la posición 2, ya que Java en muchas situaciones empieza a contar desde el valor 0.

4.1.2-Declarar un array en Java

En el punto anterior ya hemos visto cómo se declara un array pero, hay más maneras de declarar un array. Siguiendo con el ejemplo anterior del array de tipo entero de nombre notas lo podríamos declarar así:

double[]notas = null;

notas[0] = 7.8D;

notas[1] = 8.5D;

notas[2] = 4.7D;


En la primera línea declaramos el array de tipo double y de nombre notas con valor nulo, luego con el nombre del array accedemos a las posiciones 0, 1 y 2 para asignar a cada posición el valor de las notas. Decimos al array que la posición 0 tenga el valor 7.8, en la posición 1 que tenga el valor 8.5 y en la posición 2 el valor 4.7.

Hemos podido deducir que para declarar un array en Java es muy parecido a como hemos hecho en el tutorial número 3 con los tipos de datos primitivos. Primero ponemos el tipo de dato que va a tener, puede ser String o cualquier otro tipo de dato primitivo. A continuación podemos poner el nombre seguido de los corchetes o bien los corchetes y posteriormente el nombre. A gusto personal me parece más vistoso que se haga de la segunda manera, pero se pueden hacer de las dos maneras:


double[]notas;

double notas[]; //Las dos formas son correctas.


Después de poner el tipo de dato y los corchetes y el nombre del array se procede a asignar los valores que contendrá el array aunque, se puede dejar vacío e ir rellenando el array accediendo a su posición como hemos hecho ya (notas[0] = 7.8D;). Cuando se declara el array double[]notas y queremos asignarle valores debemos poner el signo igual '=' y entre corchetes '{}' introducir los valores del array separados por coma y, del mismo tipo que el array que tengamos declarado.
Podemos también declarar arrays de la siguiente manera:

int[]notas = new int [4];


Con la sentencia anterior le decimos que cree un array de tipo entero que puede contener 4 valores. Para rellenar el array lo haremos de la siguiente forma:

notas[0] = 4;

notas[1] = 8;

notas[2] = 5;

notas[3] = 6;


Así le asignamos a la posición 1 el valor 4, a la posición 2 el valor 8, a la posición 3 el valor 5 y a la posición 4 el valor 6.

Veamos más ejemplos de arrays con otros tipos de datos:

String[]diaSemana = {"Lunes", "Martes", "Miércoles", "Jueves",

        "Viernes", "Sábado", "Domingo"};//Array String

      

        int[]hora = {4, 8}; //Array entero

      

        char[]letra = {'c', 'a', 'p'};//Array de tipo char

        /*

        Podemos observar que los arrays de tipo String y de tipo char

        se colocan con comillas dobles y simples respectivamente.

        */


Unos ejemplos más con salida por consola :


        String[]diaSemana = {"Lunes", "Martes", "Miércoles", "Jueves",

        "Viernes", "Sábado", "Domingo"};//Array String

      

        int[]hora = {4, 8}; //Array entero

      

        char[]letra = {'c', 'a', 'p'};//Array de tipo char

       /*

        Se saca por consola la posición 3 del array (como hemos comentado antes

        los arrays empiezan en la posición 0 por lo que para sacar el miércoles

        por consola debemos colocar dentro de los corchetes el número 2).

        */

        System.out.println("En la posición 3 del array diaSemana "

                + "está el día: " + diaSemana[2]);

      

        // nos saldráerror porque no existe esa posición en el array, ya que hay

   //dos valores y para acceder a ellos tendríamos que poner o la posición 0 o la 1

        System.out.println("Posición 5 del array hora: " + hora[4]);

      

        System.out.println("Sacar la letra p del array letra: " + letra[2]);


4.1.3-Los arrays bidimensionales

Hemos visto los arrays más sencillos que hay, que son los arrays unidimensionales, pero se pueden crear arrays bidimensionales e incluso de tres dimensiones o más, aunque no es aconsejable hacer más de dos dimensiones porque serían difíciles de manejar y cuantas más dimensiones más memoria ocupará nuestro programa.
La forma de declarar arrays bidimensionales es la misma que para los arrays unidimensionales, sólo que en los arrays bidimensionales se pone dos corchetes en vez de uno, si fuese un array tridimensional se colocarían tres corchetes.
En este tutorial no vamos a ver muy en profundidad estos arrays, ya que los veremos más adelante, sólo vamos a ver un ejemplo sencillo de estos arrays:


int[][]a2d = new int [4][5];


El array bidimensional anterior significa que crea 4 arrays con 5 números cada uno. La posición de la primera dimensión indica los arrays creados en el primer corchete y la posición de la segunda dimensión indica los números que tendrá cada array.


Si quisiéramos añadir un valor al segundo array, a la 3 posición se haría de la siguiente forma:


a2d[1][2] = 7;

Siempre recordando que los arrays comienzan por 0 como se ve en la imagen.


4.1.4-Longitud de un array

Prácticamente ya hemos visto casi todo sobre los arrays, otras cosas las veremos en tutoriales mas adelante. Ahora vamos a ver el método length que tienen los arrays para poder saber qué longitud tiene un array. Veámoslo con un ejemplo en código:
int[]notas = {7, 5, 9, 6, 7, 8, 4, 6, 3};
System.out.println(notas.length);

Por consola nos mostrará la longitud del array, en este caso mostrará 9. Para utilizar el método length debemos poner el nombre del array seguido de punto y length. No pasa nada si no comprendéis lo que es un método porque todavía no los hemos visto, lo único que debéis saber es que los métodos se acceden a ellos a través del punto y el nombre del método.

4.1.5- Ejercicios de la Unidad

Es importante que intentéis hacer vosotros mismos los ejercicios antes de mirar la solución, teclear código por vosotros mismos es la única manera que hay de aprender a programar cualquier lenguaje de programación.

Ejercicio 1

Crea un array unidimensional de tipo String de nombre ejes que pueda contener 3 valores.

Solución:


Ejercicio 2

Rellena el array del ejercicio 1 con estas frases: Aprendiendo a usar los arrays, Tazas de Java y Me gusta programar.

Solución:



El ejercicio 1 y 2 quedarían así:



Ejercicio 3.

Saca por consola el contenido del array.

Solución:



Ejercicio 4

Cambia el valor del array de la posición 2 por Nuevo valor y muéstralo por consola para ver que se ha cambiado su valor.

Solución:



Ejercicio 5

Crea un array bidimensional que contenga 3 arrays y 5 valores cada array. El array será de tipo entero y tendrá nombre de numDias.

Solución:



Ejercicio 6

Ahora, en el array bidimensional creado en el ejercicio 5, introduce el valor 3 en el array 2 de la primera dimensión y en la posición 4 de la segunda dimensión.

Solución:



Bueno con esto lo dejamos, se ha hecho un tutorial un poco más largo delo que tenía pensado pero bueno, espero que lo hayáis podido entender bien y que sepáis usar los arrays, pero si tenéis alguna pregunta la podéis dejar por comentario y la contestaré encantado.
En el siguiente tutorial veremos los operadores en Java.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...