11/09/2014 INTRODUÇÃO Gerar uma variável para uma lista, como uma lista de números de contas de uma agência não seria prático, implicando em alterações constantes de código-fonte Quando desejamos armazenar uma grande quantidade de valores de um determinado tipo, podemos usar arrays (coleção de dados homogênea) 4. ARRAYS PROGRAMAÇÃO ORIENTADA A OBJETOS 135 PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO CRIANDO UM ARRAY Analogia de array Em Java, os arrays são criados através do comando new. PROGRAMAÇÃO ORIENTADA A OBJETOS 137 PROGRAMAÇÃO ORIENTADA A OBJETOS 136 138 11/09/2014 MODIFICANDO O CONTEÚDO DE UM ARRAY MODIFICANDO O CONTEÚDO DE UM ARRAY Para modificar o conteúdo de um array, devemos escolher uma ou mais posições que devem ser alteradas e utilizar a sintaxe abaixo Também podemos definir os valores de cada posição de um array no momento da sua criação Quando um array é criado com o comando new, todas as posições são inicializadas com os valores padrão (números são inicializados com 0, booleanos com false e referências com null) PROGRAMAÇÃO ORIENTADA A OBJETOS 139 ACESSANDO O CONTEÚDO DE UM ARRAY PROGRAMAÇÃO ORIENTADA A OBJETOS 140 PERCORRENDO UM ARRAY Para percorrermos um array, utilizaremos a instrução de repetição for Podemos utilizar a instrução while também Acessar posições fora do intervalo de índices de um array gera erro de execução Mais especificamente, em Java, ocorrerá a exception ArrayIndexOutOfBoundsException PROGRAMAÇÃO ORIENTADA A OBJETOS 141 PROGRAMAÇÃO ORIENTADA A OBJETOS 142 11/09/2014 PERCORRENDO UM ARRAY FOREACH Para percorrer um array, é necessário saber a quantidade de posições do mesmo (como faremos isso?) Para acessar todos os elementos de um array, é possível aplicar o comando for com uma sintaxe um pouco diferente, conhecido como foreach Podemos recuperar a quantidade de posições de um array acessando o seu atributo length PROGRAMAÇÃO ORIENTADA A OBJETOS 143 PROGRAMAÇÃO ORIENTADA A OBJETOS OPERAÇÕES COM ARRAYS OPERAÇÕES COM ARRAYS Nas bibliotecas da plataforma Java, existem métodos que realizam algumas tarefas úteis relacionadas a arrays, como por exemplo Duplicando um Array 144 Para copiar o conteúdo de um array para outro com maior capacidade, podemos utilizar o método Arrays.copyOf() Ordenação Duplicação Preenchimento Ordenando um Array Preenchendo um Array Considere um array de String criado para armazenar nomes de pessoas Podemos ordenar esses nomes através do método Arrays.sort() PROGRAMAÇÃO ORIENTADA A OBJETOS Podemos preencher todas as posições de um array com um valor específico utilizando o método Arrays.fill() 145 PROGRAMAÇÃO ORIENTADA A OBJETOS 146 11/09/2014 EXERCÍCIOS DE FIXAÇÃO EXERCÍCIOS DE FIXAÇÃO 1. No seu projeto, crie um pacote chamado arrays para os arquivos desenvolvidos nos exercícios a seguir Compile e execute a classe ImprimeArgumentos Na execução, não esqueça de passar alguns parâmetros na linha de comando: 2. Crie um programa que imprima na tela os argumentos passados na linha de comando para o método main. Clique com o botão direito do mouse sobre o seu projeto, acionando comando Propriedades Vá até a categoria Executar Selecione arrays.ImprimeArgumentos como sendo a classe principal Na lista de argumentos, escreva alguma mensagem Clique no botão OK para gravar as alterações Execute o projeto, pressionando a tecla <F6> Obs.: Neste caso executamos o projeto para que possamos utilizar os argumentos configurados. Se executarmos somente a classe com as teclas <Shift>+<F6>, não iríamos ter acesso aos argumentos passados PROGRAMAÇÃO ORIENTADA A OBJETOS 147 PROGRAMAÇÃO ORIENTADA A OBJETOS EXERCÍCIOS DE FIXAÇÃO EXERCÍCIOS COMPLEMENTARES 3. Faça um programa que ordene o array de strings recebido como argumento 1. Faça um programa que calcule a média dos elementos recebidos como argumentos. Dica: para converter strings para double utilize o método parseDouble() 148 2. Crie um programa que encontre o maior número entre os valores passados como argumentos. Compile e execute a classe Ordena Na execução, não esqueça de passar alguns parâmetros. PROGRAMAÇÃO ORIENTADA A OBJETOS 149 PROGRAMAÇÃO ORIENTADA A OBJETOS 150