Para a instrução while, se a condição não for atendida, o loop não poderá ser inserido. Mas às vezes precisamos executá-lo pelo menos uma vez, mesmo que as condições não sejam atendidas.
O loop do...while é semelhante ao loop while, exceto que o loop do...while será executado pelo menos uma vez.
do { //instrução de código}while(expressão booleana);
A instrução de loop do..while também é chamada de instrução de loop pós-teste. Seu método de execução repetitiva de loop também usa uma condição para controlar se a instrução deve continuar a ser executada repetidamente. A diferença do loop while é que ele primeiro executa a instrução do loop uma vez e depois determina se a execução deve continuar. Por exemplo, calcular a soma de todos os números inteiros entre 1 e 100 também pode ser obtido usando a instrução de loop do...while. O código específico é o seguinte:
int sum=0;int i=1;do{sum+=i;i++;} while (i<=100);System.out.println("A soma de todos os números inteiros entre 1 e 100 é: "+sum);
O processo de execução da instrução do loop do...while é: primeiro execute o corpo do loop uma vez e depois julgue a expressão condicional. Se o valor da expressão condicional for verdadeiro, continue a execução, caso contrário, saia do loop. Em outras palavras, o corpo do loop na instrução do loop do...while é executado pelo menos uma vez.
Nota: A expressão booleana está após o corpo do loop, portanto o bloco de instruções foi executado antes de testar a expressão booleana. Se a expressão booleana for avaliada como verdadeira, o bloco de instruções será executado até que a expressão booleana seja avaliada como falsa.
Exemplo
teste de classe pública { public static void main(String args[]){ int x = 10; do{ System.out.print("valor de x : " + x ++); ); }enquanto( x < 20 }}
Os resultados de compilação e execução do exemplo acima são os seguintes:
valor de x: 10 valor de x: 11 valor de x: 12 valor de x: 13 valor de x: 14 valor de x: 15 valor de x: 16 valor de x: 17 valor de x: 18 valor de x: 19