EXES
CRÉDITOS
ÍNDICE DEL MANUAL
PRÓLOGO
EL LENGUAJE JAVA
BIBLIOGRAFÍA
EXES. LA COMPAÑÍA
 
Área de Programación y Desarrollo
  Curso de Introducción a Java
www.exes.es
Tel: 902 360 417
 Exes   Contactar 

4.4.7 Matrices, arrays o vectores en java.

Java posee la capacidad de definir un conjunto de variables del mismo tipo agrupadas todas ellas bajo un mismo nombre, y distinguiéndolas mediante un índice numérico.

Para definir un array en java es como definir una variable o atributo, pero al especificar el tipo lo que hacemos es colocar un par de corchetes [] para indicar que lo que estamos definiendo es un array.

Por ejemplo:

         public int [] losValores;
         

en la cuál definimos un array de enteros llamado losValores. Vamos a intentar realizar un ejemplo para ver como funciona:

Práctica:
  • Crear el fichero Array.java
  • Agregar el siguiente código en el fichero:
            public class Array
            {
               public static void main(String arg[])
            {
               int [] losValores = null;
               losValores[4] = 100;
               System.out.println(losValores[4]);
            }
            }
            
  • Compilamos el código, ejecutemos y error!!! Parece extraño que el error sea NullPointerException, pero tiene sentido, recordemos que una variable java, que no sea de tipo básico es una referencia que puede apuntar a objetos y por tanto losValores también es una referencia y debe de apuntar a objetos de tipo array de enteros. Es decir el código de la función main es necesario modificarlo:
		      int [] losValores = new int[10];
		      losValores[4] = 100;
		      
  • La modificación consiste básicamente en asignar a la variable losValores un objeto de tipo array de enteros. La sintaxis para crear un objeto de tipo array es:
            new tipo[cantidad]
            
  • Donde tipo es el tipo de datos que contendrá el array. cantidad es el número máximo de elementos que podemos almacenar dentro del array. A la hora de acceder a las posiciones del array hay que tener en cuenta que la primera posición es 0 y la última cantidad-1.

Ahora vamos a tratar de escribir el mismo código pero empleando en lugar del tipo int el tipo Persona:

Práctica:
  • Crear el fichero Array2.java
  • Agregar el siguiente código en el fichero:
            public class Array2
            {
            public static void main(String arg[])
            {
               Persona [] lasPersonas = new Persona[10];
               lasPersonas[4].setNombre("Luis");
               System.out.println(lasPersonas [4].getNombre());
            }
            }
            
  • Veamos: definimos un array de 10 objetos de tipo Persona y lo asignamos a la variable lasPersonas. Accedemos a la persona 4 del array y la asignamos un nombre al objeto 4 mediante el método setNombre de la clase Persona. Posteriormente mostramos por pantalla el nombre del objeto Persona 4.
  • Compilemos y ejecutemos: ERROR!!! Al ejecutar genera el error NullPointerException. La explicación es sencilla: Al crear un array de objetos en realidad el array no contiene objetos, sino que contiene variables de tipo referencia para apuntar a los objetos. Arreglemos nuestro código para poder ejecutarlo de nuevo:
            Persona [] lasPersonas = new Persona[10];
            lasPersonas[4] = new Persona();
            lasPersonas[4].setNombre("Luis");
            System.out.println(lasPersonas [4].getNombre());
            

Si es necesario se puede averiguar el tamaño de cualquier array java, mediante de un atributo público que poseen todos los objetos de tipo array, independientemente del tipo de objetos que almacene dicho array en su interior. Este atributo se denomina length y para usarlo:

         miArray.length
         

En la siguiente práctica usaremos dicho atributo para crear un bucle ( los veremos más adelante) que permita mostrar por pantalla todos los elementos que hay en un array llamado arg.

Práctica:
  • Crear el fichero Array3.java
  • Lo que vamos a hacer es tratar de ejecutar nuestra clase Array3, pero en lugar de ejecutarla mediante: "java Array3" vamos a ejecutarla mediante "java Array3 Esto es una prueba", es decir, vamos a pasar argumentos a nuestro programa. Dichos argumentos son recibidos dentro del array llamado arg que existe en la definición del método main.
  • Agreguemos el siguiente código dentro del fichero Array3.java:
            public class Array3
            {
	            public static void main(String arg[])
	            {
		            System.out.println("Hay " + arg.length + " parametros.");
		            System.out.println("Los parámetros son: ");
		            int i = 0;
		            while(i
         
··> Ver todos los cursos
··> Si necesitas más información, contáctanos aquí
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es