| En base a su ambiente, abra un Editor de Textos para generar el siguiente ejemplo. |
Código Fuente Arreglo.java
En el siguiente código fuente se demuestra el uso de Arreglos con Clases Generadas (Propias) y primitivos, debido a la extensión del ejemplo su descripción es dividida en dos secciones.
class Clip {}
public class Arreglo {
public static void main(String[] args) {
// Arreglos de Objetos
Clip[] a; // Referencia Nula
Clip[] b = new Clip[5];
Clip[] c = new Clip[4];
// Inicialización Dinámica con Ciclo
for(int i = 0; i < c.length; i++)
c[i] = new Clip();
// Inicialización al Crearse Arreglo
Clip[] d = {
new Clip(), new Clip(), new Clip()
};
// Inicialización Dinámica
a = new Clip[] {
new Clip(), new Clip()
};
System.out.println("a.length=" + a.length);
System.out.println("b.length = " + b.length);
// Las referencia dentro del Arreglo
// son automáticamente inicializadas a "null"
for(int i = 0; i < b.length; i++)
System.out.println("b[" + i + "]=" + b[i]);
System.out.println("c.length = " + c.length);
System.out.println("d.length = " + d.length);
a = d;
System.out.println("a.length = " + a.length);
|
Primeramente se define una Clase denominada Clip la cual simplemente consta de su declaración, seguido se encuentra la definición de la Clase principal Arreglo que contiene solo su método principal (main), dentro de este método se define lo siguiente:
En la primer sección son definidas tres referencias en manera de Arreglo para la Clase
Clip; la primer declaración únicamente define la referencia, mientras las siguientes lineas definen dos referencias asignándose un arreglo de 5 y 4 Objetos respectivamente.Posteriormente son inicializados los distintos arreglos; en el primer caso se emplea un ciclo el cual asigna un Objeto a cada valor del arreglo, seguido se genera un nuevo arreglo el cual es inicializado en la misma declaración, finalmente se lleva acabo la inicialización de la referencia
aEn esta ultima sección son impresos los distintos valores de los respectivos arreglos, en estas declaraciones se hace uso del método interno
length, dicho método esta disponible para cualquier tipo de arreglo e indica la longitud del mismo; además de esto son impresos los valores del arreglob, los cuales por "default" son asignados un valor denull; además de lo anterior, un detalle relevante es la asignacióna = d, como fue demostrado en un ejemplo anterior, este tipo de asignación hace que la referenciaaapunte hacia los Objetos de la referenciad, por lo que el último valor del arreglo(referencia)aequivale a 3.
A continuación se describe el resto del Código Fuente para el programa:
// Arreglo de Primitivos
int[] e; // Referencia Nula
int[] f = new int[5];
int[] g = new int[4];
// Inicialización Dinámica con Ciclo
for(int i = 0; i < g.length; i++)
g[i] = i*i;
// Inicialización al Crearse Arreglo
int[] h = { 11, 47, 93 };
// Error Compilación : Variable(Arreglo) no inicializada
// System.out.println("e.length=" + e.length);
System.out.println("f.length = " + f.length);
// Los primitivos dentro del Arreglo
// son inicializados a cero:
for(int i = 0; i < f.length; i++)
System.out.println("f[" + i + "]=" + f[i]);
for(int i = 0; i < g.length; i++)
System.out.println("g[" + i + "]=" + g[i]);
System.out.println("h.length = " + h.length);
e = h;
System.out.println("e.length = " + e.length);
e = new int[] { 1, 2 };
System.out.println("e.length = " + e.length);
}
}
|
En la primer sección son definidas tres variables en manera de Arreglo para primitivos
int; la primer declaración únicamente define la variable, mientras las siguientes lineas definen dos variables asignándose un arreglo de 5 y 4 primitivos respectivamente.Posteriormente son inicializados los distintos arreglos; en el primer caso se emplea un ciclo el cual asigna valores al arreglo
g, seguido se genera un nuevo arreglo el cual es inicializado en la misma declaración.
En esta ultima sección son impresos los distintos valores de los respectivos arreglos:
La primer declaración (nótese el uso de comentarios) intenta imprimir la longitud del arreglo
e, esto generaría un error de compilación debido a que el arregloeno ha sido inicializado.Posteriormente se imprime el tamaño del arreglo
f.Se imprimen los valores de los arreglos
fyg, seguido de la longitud del arregloh, los cuales como cualquier primitivointson asignados un valor de0 (cero)por "default".Se asigna el valor del arreglo
hal arregloe.Debido a la asignación anterior, es posible utilizar el método
lengthsobre el arregloe, el cual tomará el mismo valor del arregloh.Son redefinidos-reinicializados los valores del arreglo
econ dos nuevos primitivos.Finalmente se imprime la nueva longitud del arreglo
e.
