Programacao Java: Array e ciclo FOR

Java – Arrays e ciclo “For”

Para dar seguimento aos tutoriais anteriores, não faria sentido não falar de 3 componentes muito úteis em Java e que poderão facilitar a vida a quem está a programar! Começando por explicar o conceito e utilização de arrays, passando pela iteração dos mesmos com ciclos (for e while) e para terminar  HashMaps.

Correção do desafio

Após termos lançado um desafio no último tutorial, que pode ser consultado aqui, deixamos ao leitor a devida correção:
 
Antes de demonstrar as classes novas, é importante clarificar que a classe importar, que será a classe “pai”, irá ter o seguinte corpo:

public class Importar implements Runnable{
    @Override
    public void run() {     
    }
}

Arrays e ciclo “for”

Todos os programadores sabem o que é um array mas, para os mais novatos na linguagem e na área, array é um vetor! Imagine o leitor o seguinte cenário:
array
A variável “meuArray” guarda a palavra “OLÁ!”. Cada caracter, inclusive o ponto de exclamação, ocupam uma posição no array! Em qualquer situação, os índices em Java começam sempre no 0 (zero). É por isso que se diz que para os programadores “o zero também conta”. Como podemos ver acima, o tamanho do array é 4 posições mas termina no índice 3! Um array é definido da seguinte forma:
ArrayList [nome do array] = new ArrayList<[tipo do objeto a passar]>();
Onde em [nome do array] é o nome que lhe queremos dar e, [tipo do objecto a passar] é o tipo que pode ser String, Int, Float, ou até mesmo alguma classe que o leitor tenha criado!
Para simular o que demonstramos na imagem, o leitor poderá usar o seguinte código em que o objectivo é inserir letras dentro do array!

public static void main(String[] args) {
        // ArrayList<[tipo do objeto]> [nome do array] = new ArrayList<>();
        // Neste caso vamos querer passar objetos do tipo string logo
        // ArrayList<String> [nome do array] = new ArrayList<>();
        ArrayList<String> meuArray = new ArrayList<>();
        String letra1 = "O";
        String letra2 = "L";
        String letra3 = "A";
        String letra4 = "!";
        // Adicionar a primeira letra
        // Tamanho do array = 1. Indice 0 ocupado
        meuArray.add(letra1);
        
        // Adicionar a segunda letra
        // Tamanho do array = 2. Indice 0 e 1 ocupados
        meuArray.add(letra2);
        
        // Adicionar a terceira letra
        // Tamanho do array = 3. Indice 0, 1 e 2 ocupados
        meuArray.add(letra3);
        
        // Adicionar a terceira letra
        // Tamanho do array = 4. Indice 0, 1, 2 e 3 ocupados
        meuArray.add(letra4);
        
        // Podemos continuar a adicionar letras
    }

Exercício

Para testar a introdução teórica dada em cima, vamos começar por criar uma classe chamada “Gato” com a seguinte estrutura:

public class Gato {
    String name;
    
    public Gato(String name){
        this.name = name;
    }
}
 
Na função main, teremos de construir objectos do tipo gato e, o nosso Array irá conter objectos do tipo Gato! Tal cenário é possível da seguinte forma:

public static void main(String[] args) {
        ArrayList<Gato> gatos = new ArrayList<>();
        // Criar dois gatos
        Gato gato1 = new Gato("Tobias");
        Gato gato2 = new Gato("Zacarias");
        // Inserir no array os dois gatos
        gatos.add(gato1);
        gatos.add(gato2);       
    }
 
Com isto, temos dois gatos dentro do nosso Array! Para testar, basta simplesmente utilizar os ciclos for. Como o leitor deve ter lido, existem dois tipos pelo que vamos testar com ambos:

public static void main(String[] args) {
        ArrayList<Gato> gatos = new ArrayList<>();
        // Criar dois gatos
        Gato gato1 = new Gato("Tobias");
        Gato gato2 = new Gato("Zacarias");
        // Inserir no array os dois gatos
        gatos.add(gato1);
        gatos.add(gato2);    
        
        System.out.println("Teste com o tipo 1 de for");
        for(int i = 0; i < gatos.size(); i++){
            System.out.println(gatos.get(i).name);
        }
        
        System.out.println("Teste com o tipo 2 de for");
        for(Gato g: gatos){
            System.out.println(g.name);
        }
    }


Comentários

Mensagens populares deste blogue

Redes de Computadores: Comando ARP, para que serve e como funciona este protocolo?

Redes de Computadores: VLSM – Cálculo de Sub-redes IPv4