Estruturas de controle tipo loop em Java

Vemos os loops for, while e do while, junto com outras estruturas de programação como break, continue e return.

Por Victorino Blanco González


Publicado em: 30/10/06
Valorize este artigo:
Os loops são utilizados para executar um conjunto de instruções várias vezes baseando-se sempre em uma condição que decidirá se continua repetindo ou não. Vejamos os tipos que existem.

Loop While

while (expressao) {sentencas}

As instruções dentro das chaves se executam enquanto a expressão for verdadeira.

i=5;
while ( i > 0 ) {i --;}
// as chaves aqui podiam ter sido omitidas, visto
// que so existe uma sentenca.
System.out.println("Agora i vale 0");


Loop For

É um loop mais "fixo", permite executar o conjunto de sentenças um número determinado de vezes fixado ao princípio do loop e funciona, portanto como um contador. Sua expressão geral seria como a que segue:

for (iniciacao, expressaoBooleana, incremento) {conjuntoDeSentencas;}

for (int i= 0; i <10; i++){     System.out.println("o valor de i eh: " + i); }

Este exemplo nos mostraria pela tela dez linhas nos dizendo o valor crescente de 'i' de zero a nove.

Loop do while

É igual ao loop while anteriormente visto, só que agora se avalia a expressão ao final do loop, portanto esse conjunto de sentenças se executa pelo menos uma vez:

i=5;
do
{i --;} // as chaves aqui podem ser omitidas visto
while ( i > 0 ) // que so existe uma sentenca.


Este exemplo similar ao anterior para o loop while se diferencia no que executa uma vez mais as sentenças em seu corpo visto que comprova a condição posteriormente.

Sentenças Break, Continue e Return

Antes falamos da sentença Break com as bifurcações switch. Pois bem, esta sentença tem um valor mais amplo. A sentença break nos permite sairmos do bloco de sentenças (fechado entre chaves) ou do loop que estamos executando, sem executar as sentenças que restam para o final ou as restantes repetições do loop. Por exemplo:

i=5;
do{
   i --;
   if (i == 3) break;
} while ( i > 0 )
// Neste exemplo quando i tiver o valor 3
// se abandonará o loop.


A sentença Continue só é válida para loops, serve para não executar as sentenças que restam para a finalização de uma repetição desse loop, continuando depois com as seguintes repetições do loop. Por exemplo:

i=5;
do{
    if (i == 3) continue;     i --;
}while ( i > 0 ) // Neste exemplo quando i tiver o valor 3
// se abandonará a repetição e portanto o
// loop não terá fim visto que não se
// executaria a sentença de decremento.


Tanto a sentença continue como break podem ser utilizadas com etiquetas para poder discriminar os loops que querem afetar no caso de que se encontre um loop aninhado. Por exemplo:

Loop1:
for (int i=0; i<10; i++){
    loop2:
    for (int j=0; i<10; j++){
       if (j==5) {break loop2;}
    }
} // quando j chega a 5 o loop2 deixa de
// executar-se até a seguinte repeticao
// dol bloco1


Por último vemos a sentença return. Esta sentença nos permite finalizar também um conjunto de sentenças, com a peculiaridade esta vez de que também finaliza o método ou função no qual se encontre. No caso de que queiramos devolver um valor desde essa função ou método, devemos coloca-lo a seguir de return. Por exemplo:

void funcaoExemplo(){
    int i=0;
    while (i < 100){ //esta absurda funcao nos devolve
       i++; //ao chamar o valor 100 como
    } //podemos comprovar
    return i;
}

Bloque Try - Catch - Finally

Trata-se de umas sentenças de controle relacionadas com o tratamento de exceções, não tem nada a ver com as estruturas de controle de loop, vistas nesse artigo, salvo porque é também uma estrutura de controle. Será comentada a seguir, embora seja vista com exemplos mais adiante.

O tratamento de exceções se utiliza para detectar erros quando se executam nossos programas e trata-los do modo que nós quisermos. Os erros caçados por um sistema de tratamento de exceções não bloqueiam o programa e o manejo de exceções nos permite fazer coisas quando esses erros ocorrem.

Por agora só é bom saber que existem, já as veremos em outro momento.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato