Fundamentos da Linguagem Java




           Arrays em Java




           Ludimila Monjardim Casagrande
                       2012
Arrays em Java
     Um array em Java é uma coleção ordenada de
        referências para objetos ou de valores de um tipo
        primitivo ou de outros arrays.

     Arrays em Java são homogêneos, isto é, exceto
        pelas regras de polimorfismo, todos os elementos
        de um array devem ser do mesmo tipo.

     Sendo assim, quando o array é criado, é
        especificado o tipo dos elementos que ele irá
        conter.



Arrays em Java          ©2012 Ludimila Monjardim Casagrande   2
Arrays em Java

     Para criar e usar um array são necessários três
        passos:

           Declaração;

           Construção;

           Inicialização.




Arrays em Java               ©2012 Ludimila Monjardim Casagrande   3
Declaração de um Array

     A sintaxe para a declaração de um array em
        Java é:
           <tipo> <variável>[ ];            ou
           <tipo>[ ] <variável>;
     Exemplo:
           int x[ ];   ou
           int[ ] x;
     Na declaração não é especificado o tamanho do
        array.

Arrays em Java               ©2012 Ludimila Monjardim Casagrande   4
Criação de um Array
     O tamanho do array só é especificado na sua
        criação, conforme o exemplo abaixo:
           x = new int[10]; //obrigatório definir o tamanho
     Somente nesse ponto é que o array x foi criado com
        10 posições, indexadas de 0 a 9.
     Também é permitido declarar e construir o array na
        mesma linha, por exemplo:
           int x[ ] = new int[10];
           String[ ] nomes = new String[5];


Arrays em Java             ©2012 Ludimila Monjardim Casagrande   5
Criação e Inicialização de um Array

     Também é possível construir um array já inicializando-
        o com alguns valores.

     Veja os exemplos:
           int[ ] x = {1, 2, 3, 4, 5};
           int[ ] x = new int[ ]{1, 2, 3, 4, 5};

     Nesses casos, o vetor será automaticamente criado
        com cinco posições e já iniciado com os valores entre
        { e }.


Arrays em Java               ©2012 Ludimila Monjardim Casagrande   6
Inicialização de uma Posição do Array

     Para inicializar ou modificar o conteúdo de um array,
        devemos escolher a posição cujo conteúdo será
        alterado e utilizar a sintaxe abaixo:
           int x[ ] = new int[10]; //declaração e criação do array
           x[0] = 1;                  //alteração do valor da posição 0
           x[1] = 2;                  //alteração do valor da posição 1
     Quando um array é criado, todas as suas posições
        são inicializadas com os valores padrão (isto é,
        números são inicializados com 0, booleanos com
        false e referências com null).

Arrays em Java              ©2012 Ludimila Monjardim Casagrande            7
Acesso a uma Posição do Array

     Para acessar o conteúdo de uma posição de um
        array, utiliza-se a sintaxe abaixo:
           int x[ ] = new int[10]; //declaração e criação do array
           System.out.println(x[0]); //acesso ao valor da posição 0
           int y = x[1];              //acesso ao valor da posição 1

     Se uma posição inválida (inexistente) do array for
        acessada ocorrerá um erro de execução.
     Mais especificamente será gerada a exceção
        ArrayIndexOutOfBoundsException.

Arrays em Java              ©2012 Ludimila Monjardim Casagrande         8
Tamanho do Array

     Para recuperar o tamanho do array, utilize a
        seguinte sintaxe:
           int tamanho = x.length;
     Note que length é uma propriedade (atributo) do
        array e não um método.
     Os arrays em Java são estruturas de tamanho fixo, o
        que significa que eles não aumentam de tamanho
        automaticamente quando houver a tentativa de
        acrescentar elementos que excedam a sua
        capacidade.

Arrays em Java             ©2012 Ludimila Monjardim Casagrande   9
Percorrendo um Array

     Para percorrer um array utilize um comando
        iterativo tal como um for:
             // laço que insere valores no Array
             for(int i = 0; i < x.length; i++){
                 x[i] = i * 2;
             }

     Recomenda-se sempre utilizar o tamanho do array
        (length) como condição de parada do for para evitar
        o acesso a posições inválidas.


Arrays em Java                   ©2012 Ludimila Monjardim Casagrande   10
Percorrendo um Array

     Outra sintaxe aceita a partir do Java 5 para
        percorrer arrays é:
          int[] numeros = new int[10];
          for (int i = 0; i < numeros.length; i++) {
                numeros[i] = i * 10;
          }
          // imprimindo todo o array
          for (int n : numeros) {
               System.out.println(n);
          }

Arrays em Java               ©2012 Ludimila Monjardim Casagrande   11
Exemplo de Uso de um Array
       public class Array {
         public static void main(String[ ] args){
           int[ ] x = new int[10];
           x[9] = 8;
           //x[10] = 9; //ArrayIndexOutOfBoundsException!!!
           System.out.println("O tamanho do array é: " + x.length);
           //Laço que insere valores no Array
           for(int i = 0; i < x.length; i++){
               x[i] = i * 2;
           }
           for(int i = 0; i < x.length; i++){
               System.out.println("O valor da posição " + i + " é: " + x[i]);
           }
         }
       }
Arrays em Java               ©2012 Ludimila Monjardim Casagrande                12
Referências

     Capítulo 4 – Arrays.
        Orientação a Objetos em Java.
        K19 Treinamentos.
        http://www.k19.com.br/downloads/apostilas-java.

     Capítulo 16 – Collections framework.
        Apostila Caelum.
        http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/

     Complete Java 2 Certification.
        Study Guide – Sybex.

Arrays em Java               ©2012 Ludimila Monjardim Casagrande        13

POO - 13 - Arrays em Java

  • 1.
    Fundamentos da LinguagemJava Arrays em Java Ludimila Monjardim Casagrande 2012
  • 2.
    Arrays em Java  Um array em Java é uma coleção ordenada de referências para objetos ou de valores de um tipo primitivo ou de outros arrays.  Arrays em Java são homogêneos, isto é, exceto pelas regras de polimorfismo, todos os elementos de um array devem ser do mesmo tipo.  Sendo assim, quando o array é criado, é especificado o tipo dos elementos que ele irá conter. Arrays em Java ©2012 Ludimila Monjardim Casagrande 2
  • 3.
    Arrays em Java  Para criar e usar um array são necessários três passos:  Declaração;  Construção;  Inicialização. Arrays em Java ©2012 Ludimila Monjardim Casagrande 3
  • 4.
    Declaração de umArray  A sintaxe para a declaração de um array em Java é:  <tipo> <variável>[ ]; ou  <tipo>[ ] <variável>;  Exemplo:  int x[ ]; ou  int[ ] x;  Na declaração não é especificado o tamanho do array. Arrays em Java ©2012 Ludimila Monjardim Casagrande 4
  • 5.
    Criação de umArray  O tamanho do array só é especificado na sua criação, conforme o exemplo abaixo:  x = new int[10]; //obrigatório definir o tamanho  Somente nesse ponto é que o array x foi criado com 10 posições, indexadas de 0 a 9.  Também é permitido declarar e construir o array na mesma linha, por exemplo:  int x[ ] = new int[10];  String[ ] nomes = new String[5]; Arrays em Java ©2012 Ludimila Monjardim Casagrande 5
  • 6.
    Criação e Inicializaçãode um Array  Também é possível construir um array já inicializando- o com alguns valores.  Veja os exemplos:  int[ ] x = {1, 2, 3, 4, 5};  int[ ] x = new int[ ]{1, 2, 3, 4, 5};  Nesses casos, o vetor será automaticamente criado com cinco posições e já iniciado com os valores entre { e }. Arrays em Java ©2012 Ludimila Monjardim Casagrande 6
  • 7.
    Inicialização de umaPosição do Array  Para inicializar ou modificar o conteúdo de um array, devemos escolher a posição cujo conteúdo será alterado e utilizar a sintaxe abaixo:  int x[ ] = new int[10]; //declaração e criação do array  x[0] = 1; //alteração do valor da posição 0  x[1] = 2; //alteração do valor da posição 1  Quando um array é criado, todas as suas posições são inicializadas com os valores padrão (isto é, números são inicializados com 0, booleanos com false e referências com null). Arrays em Java ©2012 Ludimila Monjardim Casagrande 7
  • 8.
    Acesso a umaPosição do Array  Para acessar o conteúdo de uma posição de um array, utiliza-se a sintaxe abaixo:  int x[ ] = new int[10]; //declaração e criação do array  System.out.println(x[0]); //acesso ao valor da posição 0  int y = x[1]; //acesso ao valor da posição 1  Se uma posição inválida (inexistente) do array for acessada ocorrerá um erro de execução.  Mais especificamente será gerada a exceção ArrayIndexOutOfBoundsException. Arrays em Java ©2012 Ludimila Monjardim Casagrande 8
  • 9.
    Tamanho do Array  Para recuperar o tamanho do array, utilize a seguinte sintaxe:  int tamanho = x.length;  Note que length é uma propriedade (atributo) do array e não um método.  Os arrays em Java são estruturas de tamanho fixo, o que significa que eles não aumentam de tamanho automaticamente quando houver a tentativa de acrescentar elementos que excedam a sua capacidade. Arrays em Java ©2012 Ludimila Monjardim Casagrande 9
  • 10.
    Percorrendo um Array  Para percorrer um array utilize um comando iterativo tal como um for: // laço que insere valores no Array for(int i = 0; i < x.length; i++){ x[i] = i * 2; }  Recomenda-se sempre utilizar o tamanho do array (length) como condição de parada do for para evitar o acesso a posições inválidas. Arrays em Java ©2012 Ludimila Monjardim Casagrande 10
  • 11.
    Percorrendo um Array  Outra sintaxe aceita a partir do Java 5 para percorrer arrays é: int[] numeros = new int[10]; for (int i = 0; i < numeros.length; i++) { numeros[i] = i * 10; } // imprimindo todo o array for (int n : numeros) { System.out.println(n); } Arrays em Java ©2012 Ludimila Monjardim Casagrande 11
  • 12.
    Exemplo de Usode um Array public class Array { public static void main(String[ ] args){ int[ ] x = new int[10]; x[9] = 8; //x[10] = 9; //ArrayIndexOutOfBoundsException!!! System.out.println("O tamanho do array é: " + x.length); //Laço que insere valores no Array for(int i = 0; i < x.length; i++){ x[i] = i * 2; } for(int i = 0; i < x.length; i++){ System.out.println("O valor da posição " + i + " é: " + x[i]); } } } Arrays em Java ©2012 Ludimila Monjardim Casagrande 12
  • 13.
    Referências  Capítulo 4 – Arrays. Orientação a Objetos em Java. K19 Treinamentos. http://www.k19.com.br/downloads/apostilas-java.  Capítulo 16 – Collections framework. Apostila Caelum. http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/  Complete Java 2 Certification. Study Guide – Sybex. Arrays em Java ©2012 Ludimila Monjardim Casagrande 13