CodeGym /Blogue Java /Random-PT /Java While Loop
John Squirrels
Nível 41
San Francisco

Java While Loop

Publicado no grupo Random-PT
O loop while é encontrado em quase todas as linguagens de programação, e Java não é exceção. O loop while em Java e outras linguagens executa uma instrução ou bloco de instruções, desde que o valor da condição que o disparou seja verdadeiro. Neste artigo, vamos falar sobre como trabalhar com o loop while . Java While Loop - 1

Para que servem os ciclos?

Seus primeiros programas eram uma sequência de instruções executadas passo a passo, uma após a outra. Sem garfos e repetições. Mais tarde, começamos a usar ramificações com a ajuda de operadores condicionais. Bem, para realizar ações repetitivas, existem ciclos. Talvez os ciclos sejam um dos benefícios mais óbvios para programadores novatos que a automação de processos oferece. Imagine que você precise escrever um programa rastreador que conte o número de passos dados em um dia. E quando você passar, por exemplo, 10.000 passos, o programa deverá enviar uma notificação sobre a meta alcançada. A tarefa de emitir uma notificação pode ser expressa em palavras (ou pseudocódigo) assim:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
Ou seja, assim que o número de passos for igual ao especificado na condição, o programa sai desse ciclo e envia uma notificação. Ou outro exemplo. Imagine que você precisa memorizar um poema (ou discurso). Um poema é considerado memorizado se você puder lê-lo três vezes seguidas sem espiar. Se você imaginar um programa que capture suas tentativas de recitar um poema, ele também teria que usar um loop:

While (success < 3)
learn a poem
Construções semelhantes são usadas em todos os aplicativos educacionais modernos usados, por exemplo, para aprender idiomas ou tocar instrumentos musicais.

Loop while e sua estrutura

Para resolver problemas como os exemplos acima e, de forma mais geral, para automatizar ações repetitivas em Java, você pode usar o loop while . Java while loop funcionará bem em nosso caso. Este design organiza múltiplas ações em uma estrutura concisa e compreensível. A instrução loop while é encontrada em quase todas as linguagens de programação. Ele repete uma instrução ou bloco de instruções enquanto o valor de sua expressão de controle for verdadeiro. A forma do loop while é a seguinte:

while(condition == true) {
    // statement or loop body
}
A condição deve ser uma expressão booleana, ou seja, uma expressão que pode ser considerada verdadeira ou falsa. Aqui estão alguns exemplos de expressões booleanas:

s != "exit";
a > 5;
true;
O corpo do loop será executado enquanto a expressão condicional for verdadeira. Quando a condição se torna falsa, o controle é transferido para a linha de código que vem após o loop. Se apenas uma instrução for usada no loop, as chaves podem ser omitidas (mas é melhor não fazer isso). A expressão lógica é avaliada antes do início do loop while e, a cada vez, antes da execução da próxima repetição da instrução.

Exemplos de loop while

Vamos escrever um programa para somar todos os números de 1 a 10 usando um loop while :

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
A saída é:
55
Precisamos calcular a soma de todos os números de 1 (ou de zero, não importa) a 10. Tornamos a soma inicial e o primeiro elemento igual a zero e aumentaremos o elemento em um a cada passagem de o laço. Continuaremos a somar até que o argumento se torne igual a 10 (ou seja, menor que 11. Da mesma forma, poderíamos escrever a condição i <= 10 ). Vamos pegar outro exemplo de loop while em Java . Vamos escrever um programa onde os usuários inserem números inteiros positivos. Se eles inserirem zero ou um número negativo, o programa deve relatar isso e concluir o trabalho.

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
Você pode melhorar o programa e adicionar a ele, por exemplo, verificando se o usuário digitou exatamente um número e não algum outro caractere, ou se o número é um número inteiro.

loop faça-enquanto

O loop while clássico , como nos exemplos acima, verifica imediatamente se a condição é verdadeira. Portanto, pode ser chamado de ciclo com uma pré-condição. O loop while tem um irmão do-while, um loop com uma pós-condição. Ou seja, antes que ocorra o teste da veracidade da condição, tal loop será executado pelo menos uma vez:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
Então, o primeiro exemplo com tal loop ficaria assim:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

Ciclo sem fim

O loop while pode ser usado para organizar loops infinitos na forma while(true) : Por exemplo, aqui está um programa que indefinidamente (com algumas nuances) imprime uma série de números inteiros:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
Para reforçar o que você aprendeu, sugerimos que você assista a uma vídeo aula do nosso Curso de Java
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION