Programação Java: O laço while: o que é, como usar e calculando PA e PG com while

Linguagem Java , Programação Java, Java Curso gratis.

Nos últimos artigos aprendemos vários operadores e atalhos utilizados pelos programadores Java, como ++, +=, *= dentre outros.

Está na hora de colocá-los em ação e aprender um dos comandos mais importantes em qualquer linguagem de programação: os laços

Nesse artigo, explicaremos o que é e como usar o laço while.

Como usar o laço while em Java

While, do inglês ‘enquanto’ é um laço de repetição.
Cada ciclo de repetição é chamado de iteração.
Sua sintaxe é a seguinte:

while ( condição ){
    códigos
}



Ou seja, enquanto (while) a condição for verdadeira, os códigos entre chaves serão repetidos.
Mas qual a vantagem de ter um código repetido? Isso não parece absurdo?

Bom, quando pensamos em repetido, pensamos em algo estático, mas não isso o que acontece.
É aí que entra os operadores de incremento, decremento, atribuição e outros.

Nas linhas de código, geralmente as coisas vão ‘mudando’ a condição e à cada iteração a condição é testada.
Se a condição retornar um valor lógico verdadeiro, o código entre chaves é executado.
Caso o valor retornado seja falso, o laço while é então terminado e o programa Java segue normalmente.

Vamos ver um exemplo simples, que mostra os números de 1 até 10.


Contando até 10 em Java, com o laço while


O programa é simples.
Definimos uma variável inteira, ‘count’.
Enquanto essa variável for menor que 10, seu valor será imprimido e será incrementado.
Ou seja será, será impresso 1, 2, 3, …, 9, 10…opa!
Quando chegar em 11, a condição dentro do laço não será mais verdadeira, e o laço terminará!

Teste:


public class contando {
    public static void main(String[] args) {
        int count=1;
        
        while(count
            System.out.println(count);
            count++;
        }
    }

}


Fazendo um PA (progressão aritmética) com o laço while, em Java


O programa a seguir mostra os termos ‘an’ de uma PA, de termo inicial ‘inicial’ e razão ‘razao’, até um valor máximo ‘valor_max’.
A diferença deste programa para o anterior é que os termos de uma PA crescem através da adição da razão ao termo anterior.
Em programação, poderíamos representar isso assim: an = an + razao
Porém, como vimos alguns operadores em Java, faremos isso: an += razao
Veja o resultado:


<strong><span style="color: #7f0055;">public</span></strong> <strong><span style="color: #7f0055;">class</span></strong> pa { <br />    <strong><span style="color: #7f0055;">public</span></strong> <strong><span style="color: #7f0055;">static</span></strong> <strong><span style="color: #7f0055;">void</span></strong> main(String[] args) { <br />        <strong><span style="color: #7f0055;">int</span></strong> inicial=1, <br />            razao=3, <br />            an=inicial, <br />                valor_max=20; <br />         <br />        System.out.printf(<span style="color: #2a00ff;">&ldquo;Elementos da PA, de valor inicial %d e razão %d, menores que %d\n&rdquo;</span>, inicial, razao, valor_max ); <br />        <strong><span style="color: #7f0055;">while</span></strong>(an            System.out.println(an); <br />            an += razao; <br />        } <br />    } </p> 

<p>
  }
</p>

<p>
  </div> 

  <h3>
    <span style="font-family: inherit;">Fazendo um PG (progressão geométrica) com o laço while, em Java</span>
  </h3>

  <p>
    <span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">O programa a seguir mostra os termos &#8216;gn&rsquo; de uma PG, de termo inicial &#8216;inicial&rsquo; e quociente &#8216;quociente&rsquo;, até um valor máximo &#8216;valor_max&rsquo;.</span><br /><span style="font-family: inherit;">Os produtos de uma PG, progressão geométrica, crescem através do produto do termo anterior com o quociente.</span><br /><span style="font-family: inherit;">Em programação, poderíamos representar isso assim: <i>gn = gn * razao</i></span><br /><span style="font-family: inherit;">Porém, como vimos alguns operadores em Java, faremos isso: <i>gn *= razao</i></span><br /><span style="font-family: inherit;">Veja o resultado:</span><br /><span style="font-family: inherit;"><br /></span><span style="font-family: inherit;"><br /></span></span></div> 


      <strong><span style="color: #7f0055;">public</span></strong> <strong><span style="color: #7f0055;">class</span></strong> pg { <br />    <strong><span style="color: #7f0055;">public</span></strong> <strong><span style="color: #7f0055;">static</span></strong> <strong><span style="color: #7f0055;">void</span></strong> main(String[] args) { <br />        <strong><span style="color: #7f0055;">int</span></strong> inicial=1, <br />            quociente=2, <br />            gn=inicial, <br />            valor_max=32; <br />         <br />        System.out.printf(<span style="color: #2a00ff;">&ldquo;Elementos da PG, de valor inicial %d e razão %d, menores que %d\n&rdquo;</span>, inicial, quociente, valor_max ); <br />        <strong><span style="color: #7f0055;">while</span></strong>(gn            System.out.println(gn); <br />            gn *= quociente; <br />        } <br />    } </p> 

      <p>
        }
      </p>
    </div>