3. ARRAYS, LOOPS E CONDICIONAIS

3.1. Arrays

            Arrays em Java são diferentes do que em outras linguagens. Arrays em Java são objetos que podem ser passados e acoplados a outros objetos.

            Arrays podem conter qualquer tipo de elemento valorado(tipos primitivos ou objetos), mas você não pode armazenar diferente tipos em um simples array.

Ou seja, você pode ter um array de inteiros, ou um array de strings, ou um array de array, mas você não pode ter um array que contenha ambos os objetos strings e inteiros.

            A restrição acima descrita significa que os arrays implementados em Java são genéricos homogêneos, ou seja, um único array pode armazenar qualquer tipo de objeto com a restrição que todos sejam do mesma classe.

3.1.1. Declarando um Array:

           

            String difficult[];

            Point hits[];

            int temp[];

 

 

Outra alternativa de declaração:

           

      String[] difficult;

            Point[]  hits;

      int[]  temp;

 

3.1.2. Criando Objetos Arrays:

            Um dos  caminhos é usar o operador new para criar uma nova instância de um array, por exemplo:

                   

            int[] temps = new int[99];

 

Quando voce cria um objeto array usando o operador new, todos os índices são inicializados para você ( 0 para arrays numéricos, falso para boolean, ‘\0’ para caracteres, e NULL para objetos). Você também pode criar e inicializar um array ao mesmo tempo.

 

String[] chiles = { “jalapeno”,  “anaheim”,  “serrano” ,  “jumbou”,  “thai”};

 

Cada um dos elementos internos deve ser do mesmo tipo e deve ser também do mesmo tipo que a variável que armazena o array. O exemplo acima cria um array de Strings chamado chiles  que contém 5 elementos.

 

3.1.3. Acessando os Elementos do Array

Uma vez que você têm um array com valores iniciais, você pode testar e mudar os valores em cada índice de cada array.

 

            Os arrays em Java sempre iniciam-se na posição 0 como no C++. Por exemplo:

            String[]  arr= new String[10];

            arr[10]=”out”;

 

            Isto provoca um erro de compilação pois o índice 10 não existe, pois isto está fora das bordas do array.

 

            arr[9] = “inside”;

 

            Esta operação de atribuição é válida e insere na posição 9 do array, a string “inside”.

           

3.1.4. Arrays Multidimensionais

            Java não suporta arrays multidimensionais. No entanto, você pode declarar e criar um array de arrays   e acessá-los como você faria no estilo-C.

 

      int coords[][]= new int[12][12];

      coords[0][0] = 1;

      coords[0][1] = 2;

 

3.2. Condicionais

            O condicional contém a palavra chave if, seguido por um teste booleano. Um opcional else  como palavra chave pode ser executado na caso do teste ser falso, Exemplo:

 

            if ( x < y)

                  System.out.println(“ x e menor do que y”);

            else

                  System.out.println(“ y e maior);

 

Nota técnica: A diferença entre o if em Java e C ou C++ é que o teste deve retornar um valor booleano(true ou false).

 

3.2.1. Bloco

            Um bloco é definido por ({}) e contém um grupo de outros blocos. Quando um novo bloco é criado um novo escopo local é aberto e permite a definição de variáveis locais. As variáveis definidas dentro de um bloco só podem ser vistas internamente a este, e são terminadas ou extintas no final da execução deste(}).


 

 

      void testblock(){

            int x = 10, w=1;

           

            if (x> w)

            {  // inicio do bloco

                  int y=50;

                  System.out.println(“dentro do bloco”);

                  System.out.println(“x:” + x);

                  System.out.println(“y:” + y);

            } // final do bloco

 

            System.out.println(“w:” + w);

            System.out.println(“y:” + y);  // erro variável não conhecida

}          

 

3.3. O operador Condicional

         Uma alternativa para o uso do if e else é um operador ternário condicional. Este operador ternário (?: ) , é chamado assim porque tem três termos como parâmetro.

            Exemplo:

test ? trueresult : falseresult

int menor = x < y ? x : y ;  // A variável menor recebe o valor do menor entre x e  y.

 

3.4. O switch

         Um comum mecanismo para substituição de ifs que pode ser usado para um grupo de testes e ações junto a um simples agrupamento, chama-se switch.

      switch (teste){

            case  valorum;

                  resultum;

            break;

 

            case valordois;

                  resultdois;

            break;

 

            case valortres:

                  resulttres;

            break;

 

            default: defaultresult;

}

 

            O valor é comparado com cada um dos casos relacionados. Se a combinação não for encontrada, o bloco default executado. O default  é opcional, então caso este não esteja

associado ao comando, o bloco do swicth sem executar nada.

 


 

3.5. Looping  For

            O loop em Java tem esta sintaxe:

 

for(inicialização; teste; incremento) {

      bloco de comandos;

}

 

Você também pode incluir um comando simples, sendo assim não há necessidade da utilização de chaves. Exemplo:

 

String strArray[] = new String[10];

for ( i=0; i< strArray.length; i++)

      strArray[i]=””;

 

Inicializa um array de10 elementos com “”;

 

3.6. Loop While

         O while é usado para repetir um comando, ou um conjunto de comando enquanto a condição é verdadeira.

        

While (condição){

      bloco de comandos;

}

 

A condição é uma expressão booleana. Exemplo:

 

int count=0;

while( count < array1.length  && array1[count]!=0){

      array2[count]=(float) array1[count++];

}

 

3.7. Loop Do

            A principal diferença entre o while e o do é que o teste condicional no caso do while é feita antes de se executar o código interno ao loop.   Desta forma, o que pode acontecer no while  é que o loop pode não ser executado se a condição for false. Já no loop do o corpo do loop é executado pelo menos uma vez, pois o teste de permanência é executado no fim do loop.

 

do{

            bodyOfLoop;

} while(condition);

 

Free Web Hosting