Hoje veremos sobre o comando WHILE, é bem simples de usar e facilita um muito vida dos programadores, no primeiro post foi visto que foi preciso inserir várias vezes a expressão dessa forma:
nume = nume+2;
System.out.println(nume);
nume = nume+2;
System.out.println(nume);
nume = nume+2;
System.out.println(nume);
nume = nume+2;
System.out.println(nume);
nume = nume+2;
System.out.println(nume);
Mas imagine se você tivesse que escrever isso umas 500 vezes.. é ia ser bem difícil, cansativo, chato e ocuparia muitas linha de código atoa..
Agora entra a utilização do comando while.
Java Para Iniciantes 1
Primeiro vamos entender o comando em portugol:
Enquanto (<isso for valido>) repita
<comandos e/ou expressões>;
fim Enquanto
em java:
while(true){
//comandos e/ou expressões
}
Usarei a seqüência de Fibonacci para o comando while.
A seqüência de Fibonacci é a seguinte:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,…
Funciona assim, o termo atual mais o termo anterior gera o próximo termo, e como isso fica matematicamente?
valor(1) + valor(2) = valor(3)
valor(2) + valor(3) = valor(4)
valor(3) + valor(4) = valor(5)
valor(4) + valor(5) = valor(6)…
Se você não entendeu a acesse esse link ele explica melhor ;)
Bom continuando, Agora vamos aplicar isso:
/**primeiro declaramos as variáveis
vamos precisar declarar valor atual, anterior, soma e a variável para o contador
vejamos
**/int anterior = 0, atual = 0, soma = 1, contador = 1;
//todas variáveis como valor inteiro
/**a soma já começa com 1
pois este será nosso primeiro resultado
**/
Agora Precisaremos criar um contador para não deixar passar de 14 resultados:
se (contador <= 14) faça
Contador <= Contador +1;
//acima estamos atribuindo ao contado um valor a mais
//do que ele ja tem
fimse.
Em Java:
if (contador<= 14){
//contador
}
Até aqui ta fácil, é hora de criar a lógica para realizar as contas;
de acordo com a fórmula o valor atual se transforma no anterior podemos fazer isso por atribuição:
anterior=atual;
//aqui ‘atual e ‘anterior passam a ter o mesmo valor
Em seguida temos que atribuir o resultado da soma que declaramos com o valor 1 anteriormente;
atual = soma;
/**’atual deixa de ter o valor igual o ‘anterior e assume o valor do resultado no caso a ‘soma **/
Agora usaremos uma expressão para atribuir a soma a adição de atual+anterior dessa maneira:
soma=atual+anterior;
/**soma deixa de ter o mesmo valor de atual e passa a ter um novo valor**/
o código está assim:
int anterior = 0, atual = 0, soma = 1, contador = 1;
if (contador <= 14){
anterior = atual;
atual = soma;
soma = atual + anterior;}
para while usaremos a condição (true) ou seja ele executará tudo que estiver dentro do while até que você mande parar. para controlar isso usaremos o break que sai do laço em que está inserido.
Dessa forma, repetirá tudo dentro do while até que a condição do if se torne falso e caia no else onde terá o break.
veja o código agora:
int anterior = 0, atual = 0, soma = 1, contador = 1;
while (true){
if (contador <= 14){
anterior = atual;
atual = soma;
soma = atual + anterior;}else{
break;
}
Só que ainda não temos um contador para fazer com que a condição do if se torne falso
para isso dentro do if teremos que atribuir +1 para a variável contador existem duas maneira de fazer isso
a primeira:
contador = contador+1;
ou a melhor, mais simples e fácil:
contador++;
Não podemos esquecer de imprimir os resultados no console
System.out.print (soma + “, “);
Dessa forma acima os resultados sairão assim 1, 1, 2, 3, 5, ….
o resultado completo:
public class Fibonacci {
public static void main(String[] args) {int anterior = 0, atual = 0, soma = 1, contador = 1;
while (true){
if (contador <= 14){
System.out.print(soma+”,”);
anterior = atual;
atual = soma;
soma = atual + anterior;
contador ++;//ou contador=contador+1;
}
else {
break;
}
}
}
}
veja o código edentado:
Dica:
para economizar linhas no caso de termos apenas uma linha do bloco do podemos como no mesmo caso do else acima podemos fazer assim:
sem precisar de nenhuma chave para o comando.
else break;




Ótima explicação! A lógica é complicada para se explicar de modo simples como você faz. Só faltou corrigir a dica final onde está escrito “else brak;” na verdade é “else break;” um erro de digitação.
Mas muito bom esses seus tutoriais.
Valeu Amigo!
po cara nota 10 essa postagem gostei
muito boa a explicação