Os arrays ou matrizes, como s�o conhecidos pelo Java, fazem parte do pacote java.util na coleç�o da API do Java. S�o objetos de recipientes que cont�m um n�mero fixo de valores de um �nico tipo. O comprimento de um array � estabelecido quando criado, sendo que ap�s a criaç�o o seu comprimento fica fixo. Cada item em um array � chamado de elemento, e cada elemento � acessado pelo n�mero, o �ndice. Abaixo � mostrado se d� esse acesso aos seus elementos, lembrando que sempre sua numeraç�o começa em 0. Figura 1: Um array de 5 elementosDeclarando ArraysNa declaraç�o de um array, cada elemento recebe um valor padr�o, sendo 0 (zero) para n�meros de tipo primitivo, falso (false) para elementos booleanos e nulo (null) para refer�ncias. O programa que est� na Listagem 1, cria um array de inteiros, coloca alguns valores nela, e imprime cada valor � sa�da padr�o. public class Declaracao_Array { public static void main(String[] args) { //[] - s�o inseridos em uma vari�vel que referecia um array int[] a = new int[4]; //OUTRA MANEIRA DE FAZER UMA DECLARAÇ�O DE ARRAY int[] b; b = new int[10]; //DECLARANDO V�RIOS ARRAYS int[] r = new int[44], k = new int[23]; //{} - inicializar valores em um array sua declaraç�o int[] iniciaValores = {12,32,54,6,8,89,64,64,6}; //DECLARA UM ARRAY DE INTEIROS int[] meuArray; //ALOCA MEM�RIA PARA 10 INTEIROS meuArray = new int[10]; //INICIALIZA O PRIMEIRO ELEMENTO meuArray [0] = 100; meuArray [1] = 85; meuArray [2] = 88; meuArray [3] = 93; meuArray [4] = 123; meuArray [5] = 952; meuArray [6] = 344; meuArray [7] = 233; meuArray [8] = 622; meuArray [9] = 8522; //meuArray [10] = 564; //ESTOURA A PILHA POIS N�O EXISTE O �NDICE 10 System.out.println(meuArray[9]); System.out.println(meuArray[2]); } } Por padr�o, cada array sabe seu pr�prio tamanho, independente de quantos valores forem inseridos. O array armazena na vari�vel de inst�ncia o m�todo length, que retorna o tamanho do array especificado, conforme o exemplo da Listagem 2. Saiba mais: Cursos de Java public class TamanhoArray { public static void main(String[] args) { int[] arrayUm = {12,3,5,68,9,6,73,44,456,65,321}; int[] arrayDois = {43,42,4,8,55,21,2,45}; if(arrayDois.length > 8){ System.out.println("Tamanho do ArrayDois - Maior que 8!"); }else{ System.out.println("Tamanho do ArrayDois - Menor que 8!"); } System.out.println("\nTamanho do ArrayUm = "+arrayUm.length); } } Quando inicializamos um array no momento da declaraç�o, � vista uma lista de valores separados por v�rgula dispostos entre chaves { }. No exemplo da Listagem 3, os valores de cada �ndice n�o v�o ser impressos porque apenas � inicializado e atribu�do o tamanho que o array ir� ter. J� na Listagem 4, os valores s�o previamente definidos e, por isso, ser�o apresentados na tela. public class Criando_Inicializando_Array { public static void main(String[] args) { //ARRAY COM 10 ELEMENTOS int[] arrayBase; arrayBase = new int[ 20 ]; System.out.printf("%s %10s \n", "Index", "Valores"); //GERA A SA�DA DO VALOR DE CADA ELEMENTO DO ARRAY for(int i = 0; i < arrayBase.length; i++) System.out.printf("%3d %10d \n", i, arrayBase[ i ]); } } public class Inicializando_Array { public static void main(String[] args) { //LISTA DE VALORES int[] array = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110}; System.out.printf("%s %12s \n", "Index", "Valores"); //PERCORRE CADA ELEMENTO E IMPRIME O �NDICE COM O VALOR for( int counter = 0; counter < array.length; counter ++){ System.out.printf("%5d %4s %4d \n", counter, "=>" , array[ counter ]); } } } A instruç�o for aprimorado, como � conhecida, serve para obter elementos de um array, sem a possibilidade de alter�-los. Se caso houver necessidade de modificar os elementos, isso pode ser feito com a instruç�o for controlada por contador. Na sintaxe do for aprimorado � divida pelos seguintes par�metros:
for ( par�metro : nomeDoArray ) instruç�o Na instruç�o for da Listagem 6, a vari�vel arrayNum, passa os valores armazenados para a vari�vel i, fazendo com que o loop possa selecionar um valor a partir do array percorrido. public class Percorrendo_Arrays_For_Aprimorado { public static void main(String[] args) { int[] arrayNum = {87, 68, 52, 5, 49, 83, 45, 12, 64}; int total = 0; //ADICIONA O VALOR DE CADA ELEMENTO AO TOTAL for(int i : arrayNum) total += i; System.out.printf("Total de elementos arrayNum: %d\n", total); } } Esse tipo de array � declarado como tendo duas dimens�es e � usado para representar tabelas de valores que consistem em informaç�es organizadas em linhas e colunas. Os arrays bidimensionais precisam de dois �ndices para identificar um elemento particular. Por exemplo, quando um array � identificado dessa forma �numero[indiceA][indiceB]�, a vari�vel numero � o array, o indiceA � a linha e o indiceB � identificado como a coluna, fazendo uma identificaç�o de cada elemento no array por n�mero de linha e coluna. Exemplo de declaraç�o: int [][] a = { { 1, 2 }, { 2, 2 } }; Figura 2: Array Bidimensionalpublic class Inicializando_Arrays_Bidimensionais { public static void main(String[] args) { int[][] array1 = { { 1,2,3 }, { 4, 5, 6 } }; int[][] array2 = { { 1, 2 }, { 3 }, { 4, 5, 6} }; System.out.println("Valores no array1 passados na linha s�o"); outputArray( array1 ); //exibe o array 2 por linha System.out.println("Valores no array2 passados na linha s�o"); outputArray( array2 ); //exibe o array 2 por linha } //FAZ UM LOOP PELAS LINHAS DO ARRAY public static void outputArray(int[][] array) { //FAZ UM LOOP PELAS COLUNAS DA LINHA ATUAL for(int linha = 0; linha < array.length; linha++) { //FAZ LOOP PELAS COLUNAS DA LINHA ATUAL for( int coluna = 0; coluna < array[linha].length; coluna++) System.out.printf("%d ", array[linha][coluna]); System.out.println(); } } } Arrays s�o estruturas largamente utilizadas na programaç�o e, por isso, � fundamental entender seu funcionamento e saber como utiliz�-las. Como vimos, manipul�-los na linguagem Java n�o � uma tarefa complexa. Era isso pessoal, espero que tenham gostado e at� a pr�xima! Links �teis
Saiba mais sobre Java ;)
|