0% acharam este documento útil (0 voto)
17 visualizações26 páginas

3 - Java - Arrays

Enviado por

gugacf2
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
17 visualizações26 páginas

3 - Java - Arrays

Enviado por

gugacf2
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 26

Java Básico

Arrays

Ayslan Macedo de Sousa


1
Arrays
Dentro de um bloco pode-se declarar diversas
variáveis, por exemplo 5 números de contas diferentes:

1. int numero1;
2. int numero2;
3. int numero3;
4. int numero4;
5. int numero5;

Mas e se precisarmos de mais variáveis para armazenar


novos números de conta?
2
Arrays
Para facilitar esse tipo de caso podemos declarar
um array(vetor) de inteiros:

1. int[] numeros;

3
Criar um Array
Para se criar um array deve-se usar a palavra
reservada new:
1. int[] numeros = new int[5];

Para preencher esse array deve-se atribuir o valor


direto na sua posição (a posição inicial é 0):
1. numeros[0] = 1000;
2. numeros[1] = 1001;
3. numeros[2] = 1002;
4. numeros[3] = 1003;
5. numeros[4] = 1004;

4
Arrays

Importante!
Quando um array é criado com o comando new, todas as
posições são inicializadas com os valores padrão (primitivos
como o int ou long são inicializados com 0, booleanos com false
e objetos com null).

5
Arrays - Acessando os registros
Para acessar os valores, deve-se acessar a posição em que eles
foram colocados, caso a posição não exista, um erro será lançado.
1. int[] numeros = new int[5];
2. numeros[0] = 1000;
3. numeros[1] = 1001;
4. numeros[2] = 1002;
5. numeros[3] = 1003;
6. numeros[4] = 1004;

1. //escreve 1001
2. System.out.println(numeros[1]);
3. //escreve 1002
4. System.out.println(numeros[2]);
5. //lança um erro pois não existe a posição 10
6. System.out.println(numeros[10]);

6
Exercício - Arrays
• Criar um novo pacote chamado br.com.curso.arrays
• Criar a classe ArrayExercicio1
• Dentro da classe ArrayExercicio1 criar o array e escrever seus valores como
mostrado abaixo:
1. package arrays;
2.
3. public class ArrayExercicio1 {
4. public static void main(String[] args) {
5.
6. int numeros[] = new int[5];
7.
8. numeros[0] = 2000;
9. numeros[1] = 4000;
10.
11. System.out.println(numeros[0]);
12. System.out.println(numeros[1]);
13. System.out.println(numeros[2]);
14.
15. }
16. }
7
Arrays - Inicialização na Criação
Um array pode ser inicializado na sua criação.
Por exemplo, o código:
1. int[] numeros = new int[5];
2. numeros[0] = 1000;
3. numeros[1] = 1001;
4. numeros[2] = 1002;
5. numeros[3] = 1003;
6. numeros[4] = 1004;

Equivale a:
int[] numeros = new int[]{1000, 1001, 1002, 1003, 1004};

ou:

int[] numeros = {1000, 1001, 1002, 1003, 1004};

8
Iterando sobre os Arrays
• É possível iterar sobre todos os elementos do array utilizando
um for
• Isso é possível pois os arrays possuem um atributo chamado
length

1. int numeros[] = {10, 20, 30, 40, 50};


2.
3. for (int i = 0; i < numeros.length; i++) {
4. System.out.println(numeros[i]);
5. }

9
Exercício - Arrays
• Criar a classe ArrayExercicio2 dentro do pacote br.com.curso.arrays
• Dentro da classe ArrayExercicio2 criar o array e escrever seus valores utilizando o
“for” como mostrado abaixo:

1. package arrays;
2.
3. public class ArrayExercicio2 {
4.
5. public static void main(String[] args) {
6.
7. int numeros[] = {10, 20, 30, 40, 50};
8.
9. for (int i = 0; i < numeros.length; i++) {
10. System.out.println(numeros[i]);
11. }
12.
13. }
14. }

10
Enhanced-for ou For each
• O Java 5 trouxe essa nova sintaxe para percorremos
arrays.
• Não há necessidade de manter uma variável com o
índice

Sintaxe:
for(tipo nome_variavel : array){
//fazer algo
}

11
Enhanced-for ou For each

Exemplo do uso do for each:

1. int[] numeros = new int[]{1000, 1001, 1002, 1003, 1004};


2.
3. for(int numero : numeros){
4. System.out.println(numero);
5. }

12
Enhanced-for ou For each
Considerando o array:
int[] numeros = new int[]{1000, 1001, 1002, 1003, 1004};

Percorrer o array usando índice:


1. for (int i = 0; i < numeros.length; i++) {
2. System.out.println(numeros[i]);
3. }

Percorrer o array usando for each:


1. for(int numero : numeros){
2. System.out.println(numero);
3. }

13
Exercício - Arrays
• Alterar a classe ArrayExercicio2 e escrever os elemento do array
percorrendo seus elementos usando for each.
1. package arrays;
2.
3. public class ArrayExercicio2 {
4.
5. public static void main(String[] args) {
6.
7. int numeros[] = {10, 20, 30, 40, 50};
8.
9. System.out.println("Usando indice");
10. for (int i = 0; i < numeros.length; i++) {
11. System.out.println(numeros[i]);
12. }
13.
14. System.out.println("Usando for each");
15. for (int numero : numeros) {
16. System.out.println(numero);
17. }
18.
19. }
20. }
14
Exercício - Arrays, o maior número
• Criar a classe MaiorNumero no pacote br.com.curso.arrays
• .Criar um método pegarMaiorNumero que recebe um array de int e retorne o
maior numero
• Após criar o método pegarMaiorNumeroexecutar o código abaixo

1. package br.com.curso.arrays;
2.
3. public class MaiorNumero {
4.
5. public static void main(String[] args) {
6.
7. int[] numeros = {1, 2, 22, 54, 88, 3, 4, 5, 6, 7, 8};
8. int maior = pegarMaiorNumero(numeros);
9. System.out.println("O maior numero é: " + maior);
10.
11. }
12. }

15
Exercício - Arrays, o maior número
Possível solução:
1. package br.com.curso.arrays;
2.
3. public class MaiorNumero {
4.
5. public static int pegarMaiorNumero(int[] numeros) {
6.
7. int maior = 0;
8.
9. for (int numero : numeros) {
10. if (numero > maior) {
11. maior = numero;
12. }
13. }
14.
15. return maior;
16. }
17.
18. public static void main(String[] args) {
19.
20. int[] numeros = {1, 2, 22, 54, 88, 3, 4, 5, 6, 7, 8};
21. int maior = pegarMaiorNumero(numeros);
22. System.out.println("O maior numero é: " + maior);
23.
24. }
25. }

16
Arrays

Importante!
Arrays não podem mudar de tamanho

A partir do momento que uma array foi criada, ela não pode
mudar de tamanho.
Se você precisar de array maior, é necessário criar um array
maior e copiar os elementos do array antigo para o novo.

17
Arrays Bidimensionais
Para se declarar arrays bidimensionais bas
duplicar os colchetes na declaração:

int[][] array = new int[2][2];

int[][] array = new int[3][3];

18
Arrays Bidimensionais
É possível percorrer arrays bidimensionais utilizando
for aninhado (um for dentro do outro)

1. String[][] array = new String[2][2];


2.
3. array[0][0] = "1.1";
4. array[0][1] = "1.2";
5. array[1][0] = "2.1";
6. array[1][1] = "2.2";
7.
8. for(String[] s1 : array){
9. for(String s2 : s1){
10. System.out.println(s2);
11. }
12. }

19
Exercício Arrays Bidimensionais
• Criar a classe ArrayExercicio3 no pacote br.com.curso.arrays
• Criar e executar o seguinte método main na classe
1. package br.com.curso.arrays;
2.
3. public class ArrayExercicio3 {
4. public static void main(String[] args) {
5.
6. String[][] array = new String[2][2];
7.
8. array[0][0] = "1.1";
9. array[0][1] = "1.2";
10. array[1][0] = "2.1";
11. array[1][1] = "2.2";
12.
13. for(String[] s1 : array){
14. for(String s2 : s1){
15. System.out.println(s2);
16. }
17. }
18.
19. }
20. }

20
Ordenação de Arrays
A classe Arrays do pacote java.util possui alguns métodos
utilitários para listas e Arrays.
Um desses métodos é o sort, utilizado para realizar a
ordenação.

É necessário importar a classe Arrays do pacote java.util:


import java.util.Arrays;

Chamada do método sort:


Arrays.sort(array);

21
Ordenação de Arrays
Exemplo de ordenação utilizando o tipo int:
1. import java.util.Arrays;
2.
3. public class OrdenacaoArrayInt {
4.
5. public static void main(String[] args) {
6.
7. int[] numeros = {50, 40, 10, 20, 30, 0};
8.
9. for (int numero : numeros) {
10. System.out.println(numero);
11. }
12.
13. Arrays.sort(numeros);
14.
15. for (int numero : numeros) {
16. System.out.println(numero);
17. }
18.
19. }
20. }
22
Exercício - Ordenação Arrays
• Criar a classe OrdenacaoArrays no pacote
br.com.curso.arrays
• Criar um método main com o seguinte array de Strings:
1. public static void main(String[] args) {
2.
3. String[] nomes = {"Maria", "Joaquim", "Pedro", "Amando", "Tania"};
4.
5. }

• Escreva as Strings dessa lista de maneira ordenada, utilizando


a classe Arrays
• Utilização do Arrays.sort():
1. Arrays.sort(array);

23
Exercício - Ordenação Arrays
Resposta:
1. package arrays;
2.
3. import java.util.Arrays;
4.
5. public class OrdenacaoArrayStrings {
6.
7. public static void main(String[] args) {
8.
9. String[] nomes = {"Maria", "Joaquim", "Pedro", "Amando", "Tania"};
10.
11. Arrays.sort(nomes);
12.
13. for (String nome : nomes) {
14. System.out.println(nome);
15. }
16.
17. }
18. }

24
Arrays de Objetos
• Os arrays podem ser criados para qualquer tipo de classe
Classe Pessoa.java:
1. public class Pessoa {
2. private String nome;
3.
4. public Pessoa() {
5. }
6.
7. public Pessoa(String nome) {
8. this.nome = nome;
9. }
10. }

Criando um array do tipo Pessoa:


1. Pessoa pessoa1 = new Pessoa("Maria");
2. Pessoa pessoa2 = new Pessoa("Joaquim");
3.
4. Pessoa[] pessoas = new Pessoa[2];
5.
6. pessoas[0] = pessoa1;
7. pessoas[1] = pessoa2;
25
Exercício - Array de Ojetos
• Criar a classe Pessoa, no pacote br.com.curso.modelo caso não tenha criado
ainda (Pessoa tem os atributos nome e cpf e seus respectivos getters e setters)
• Criar a classe ArrayPessoa no pacote br.com.curso.array
• Criar um array de pessoas conforme o exemplo abaixo:

1. import br.com.curso.modelo.*;
2.
3. public class ArrayPessoa {
4. public static void main(String[] args) {
5.
6. Pessoa pessoa1 = new Pessoa("Maria");
7. Pessoa pessoa2 = new Pessoa("Joaquim");
8. Pessoa pessoa3 = new Pessoa("Miguel");
9.
10. Pessoa[] pessoas = new Pessoa[3];
11.
12. pessoas[0] = pessoa1;
13. pessoas[1] = pessoa2;
14. pessoas[2] = pessoa3;
15.
16. for(Pessoa pessoa : pessoas){
17. System.out.println(pessoa.getNome());
18. }
19.
20. }
21. }
26

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy