Rumbo a nuestra Certificación (Quinta entrega)

Buenas tardes a todos los chavos en vía de su certificación.

A continuación se anexa la quinta entrega de material para prepararnos.

Los temas contemplados son los siguientes:

a) Arrays.
b) Declaración de un Array.
c) Dimensión de un Array.
d) Acceso a los elementos de un Array.
e) Paso de un Array como argumento de llamada a un método
f) Array como tipo de devolución de un método.
g) Ejercicios propuestos.

Cualquier duda, comentario o aclaración pueden hacerlo en la sección correspondiente.

Saludos y felices compilaciones.

--------------------------------------------

Arrays.

Un Array es un objeto en el que se puede almacenart un conjunto de datos del mismo tipo. Cada uno de los elementos del array tiene asignado un ídice numérico según si posición, siendo "0" (cero) el índice del primero.

Declaración de un Array.

Un array debe declararse utilizando alguna de las siguientes expresiones:

 

 

Como puede apreciarse, los corchetes pueden estar situados delante de la variable o detrás de ella. Los siguientes ejemplos son declaraciones válidas para un array:

 

Los arrays pueden declararse en los mismos lugares que las variables estándar: como atributos de una clase o locales en el interior de un método. Como ocurre con cualquier otro tipo de variable objeto, cuando un array se declara como atributo se inicializa implícitamente al valor null.

Dimensión de un Array.

Para asignar un tamaño al array se utiliza la expresión:

 

También se puede asignar tamaño al array en la misma línea de declaración de la variable. Los siguientes son ejemplos de dimensionado de un array:

 

Cuando un array se dimensiona, todos sus elementos son inicializados explícitamente al valor por defecto del tipo correspondiente, independientemente de que la variable que contiene al array sea atributo o local.

Existe una forma de declarar, dimensionar e inicializar un array en una misma sentencia. La siguiente instrucción crea un array de cuatro enteros y los inicializa a los valores indicados entre llaves:

 

Acceso a los elementos de un Array.

El acceso a los elementos de un array se realiza utilizando la siguiente expresión:

 

Donde índice representa la posición a la que se quiere tener acceso, y cuyo valor debe estar comprendido entre "0" y "tamaño - 1".

Todos los objetos array exponen un atributo público, llamado length que permite conocer el tamaño al que ha sido dimensionado un array. Este atributo resulta especialmente útil en aquellas métodos que necesitan recorrer todos los elementos de un array, independientemente de su tamaño.

El siguiente ejemplo utiliza length para recorrer un array y rellenarlo con números enteros pares consecutivos, comenzando por el "0".

 

El programa que se muestra a continuación calcula la suma de todos los números almacenados en un array de enteros, mostrando además el mayor y el menor de los números contenidos:

 

Paso de un Array como argumento de llamada a un método.

Además de los tipos básicos, los arrays también pueden utilizarse como argumentos de llamada a métodos.

Para declarar un método que reciba como parámetro un array se emplea la siguiente sintaxis:

 

El siguiente método recibe como parámetro un array de enteros:

 

En cuanto a la llamada, debemos utilizar la siguiente expresión:

 

A modo de ejemplo explicativo, la siguiente clase representa una versión del programa anterior en el que se calculaban la suma, el mayor y el menor de los números almacenados en un array. En este caso, se desglosa el código de las operaciones sobre el array en tres métodos a los que se les pasa como parámetro el array de enteros:

 

Array como tipo de devolución de un método.

También un array puede ser devuelto por un método tras la ejecución del mismo. El formato de un método de esas características es el siguiente:

 

El siguiente ejemplo devuelve un array con los cinco números enteros siguientes al número recibido como parámetro:

 

Ejercicios propuestos.

Se propone el siguiente ejercicio para practicar lo anteriormente aprendido.

Desarrollar un programa que, partiendo de un array con 10 números enteros cualesquiera, ordene de menor de menor a mayor los números contenidos en dicho array y posteriormente muestre el contenido ordenado en pantalla.

Se debe procurar realizar el programa de forma modular, desglosando el código de la clase en los métodos que se considere apropiados.

--------------------------------------------
Jhanno Foulds Gaunt - Km3.
Jueves, 21 de Mayo del 2009.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Sobre declaración de arrays...

También cabe señalar que la mayoría de los libros para certificación que involucre versiones modernas (y hablo de 1.4+) de Java y
en conjunto con la Java Language Specification recomiendan no usar la forma:
 
sino
 

Y entre las razones para ello destacan:

    • Un arreglo define un conjunto de elementos sobre el TIPO y no sobre el nombre de la referencia.
      Puede llegar a ser confuso ya que otras modalidades permitidas es Tipo[] Nombre[] lo que en realidad significa Tipo[][]
      La declaración de arrays de tipos genéricos y tipo de retorno en métodos funcionan estrictamente con el tipo, también puede ser confuso
  • Puedes decir que lo anterior son razones meramente estéticas, pero aún así válids, y más cuando trabajas con equipos donde existen lineamientos
    para escribir código.

    Saludos,