Programación en Java/Arrays

De Wikilibros, la colección de libros de texto de contenido libre.
Arrays


En Java, un Array o (en español arreglo) es un grupo de variables llamadas elementos o componentes que contienen variables las cuales son de un mismo tipo. En java, a diferencia del lenguaje C, existe un tipo de variable “especial”, el Array o matriz. Este tipo de variables no es más que un conjunto secuencial de memoria a las que se accede a través de un índice de posición.

Las matrices en Java son objetos, por lo que cuentan con propiedades y métodos para manipularlos. Se pueden declarar matrices de tipos de datos primitivos y de objetos.

Para hacer referencia a un elemento en especial en un arreglo, se debe especificar el nombre que llevará la referencia al arreglo y el número de la posición del elemento en el arreglo. El número de la posición del elemen- to se conoce como el índice o subíndice del elemento.

Existen varias maneras de declarar un array, por ejemplo:

Sintaxis:


  • tipodedato nombre [] = new tipodedato[tamaño]
  • int c[] = new int[ 12 ];
    


  • tipodedato[] nombre = new tipodedato[tamaño]
  • int[] c = new int[ 12 ];
    


  • tipodedato nombre [] nombre = new tipodedato[tamaño]
  • int c[ ];
    c = new int[ 12 ];
    


    Como puedes observar puedes inicializar un array al momento de declararlo o postergar esta operación para cuando sea necesario.

    Para inicializar un array existen 2 maneras:

    • int[] matriz=new int[4] o
    • int[] matriz={100,200,302,400}


    Como podrás concluir, en la primera declaras el array nada más, diciéndole la cantidad de memoria secuencial que se debe reservar, en el segundo ejemplo se inicializa el array dándole los valores que va a contener (obviamente la cantidad de memoria secuencial reservada será igual a la cantidad de elementos insertados).

    Al momento de inicializar una matriz de la manera :

    • int[] matriz=new int[4]

    cada posición de la matriz sera inicializada con el valor predeterminado del tipo de variable. Por ejemplo si la matriz es de tipo boolean, todas las posiciones de la matriz serán inicializadas con el valor false (ya que este es valor predeterminado de este tipo de dato), por el contrario si la matriz fuese de un tipo no primitivo, el valor que contendrá cada casilla sera null.

    A continuación tienes una lista de los valores predeterminados de cada tipo de dato:

    Tipo de Dato-->Valor
    byte-->0
    short-->0
    int-->0
    long-->0
    float-->0.0
    double-->0.0
    char-->/u0000
    boolean-->false
    Object (Cualquier tipo de Objeto)-->null

    Para obtener el tamaño de un array de manera dinámica se utiliza la propiedad .length. Esta propiedad es común para todos los arrays. También es importante saber que las matrices se empiezan a enumerar desde el número cero (0), por tanto para acceder al valor almacenado en la última posición deberás colocar el tamaño de la matriz menos 1 unidad.

    Al momento de tratar de acceder a una posición fuera del rango de la matriz se lanzará un excepción de tipo java.lang.ArrayIndexOutOfBoundsException (esta excepción es una excepción no chequeada, por lo que no es necesario colocar un bloque try/catch en el código)

    Pasaremos con un ejemplo:

     public class Arrays01 {
         public static void main(String args[]) {
             int ita_nro[] = new int[4];
             for (int it_cont = 0; it_cont < 4; it_cont++){
                 ita_nro[it_cont] = it_cont * 2;
                 System.out.println(ita_nro[it_cont]);
             }
         }
     }