Opa tudo bom, eu aqui denovo trazendo mais uma duvida, dessa vez minha duvida é sobre o Do While que é apresentado na Página 25 da apostila FJ-11 Caelum, enfim eu pesquisei e tal e pra entender resolvi fazer um programa que esta dando erro:
Não achei onde pode estar errado.
class Pagina25 {
public static void main (String[] args) {
do{int num = 1} while (num < 1); {
System.out.println ("Bem vindos" + num);
num++;
}
}
}
É bem outra coisa é pq e quando usar do while, ao invez do for e do while.
for: a quantidade de iterações é conhecida, seja porque você definiu ou porque o tamanho de um array por exemplo é fixo, etc.
while e do while: a quantidade de iterações é indefinida. O algoritmo pode rodar 1 ou 1 zilhão de vezes.
No while, a condição que testa a continuidade da iteração, ou seja, se o bloco do while vai rodar de novo, é executada antes do bloco. Sendo assim, se acondição for falta antes de entrar no bloco, ele não será executado nenhuma vez.
No do while, a condição que testa a continuidade da iteração é testada depois da primeira iteração, ou seja, o do while garante pelo menos uma iteração no bloco associado.
Um mesmo algoritmo pode ser escrito usando for, while ou do while, bastando fazer algumas alterações.
Com o tempo você conseguirá escolher facilmente qual estrutura de repetição usar.
[quote=davidbuzatto]for: a quantidade de iterações é conhecida, seja porque você definiu ou porque o tamanho de um array por exemplo é fixo, etc.
while e do while: a quantidade de iterações é indefinida. O algoritmo pode rodar 1 ou 1 zilhão de vezes.
No while, a condição que testa a continuidade da iteração, ou seja, se o bloco do while vai rodar de novo, é executada antes do bloco. Sendo assim, se acondição for falta antes de entrar no bloco, ele não será executado nenhuma vez.
No do while, a condição que testa a continuidade da iteração é testada depois da primeira iteração, ou seja, o do while garante pelo menos uma iteração no bloco associado.
Um mesmo algoritmo pode ser escrito usando for, while ou do while, bastando fazer algumas alterações.
Com o tempo você conseguirá escolher facilmente qual estrutura de repetição usar.
[]'s[/quote]
Muito Obrigado consegui tirar minha duvida com sua resposta e corrigi meu programa!
Estou de acordo com o nosso colega davidbuzatto, muito bem colocado.
Em relação ao seu código, veja que você colocou ‘System.out.println();’ e o contador ‘num’ fora do escopo do ‘do{ … }while();’ e ainda abriu outra chave sem necessidade.
Verifique e teste novamente.
do{
x++;
System.out.prinln("O valor de x é: " + x);
}while(x < 10);
Com o do{} while(condição) voce testa a condição no fim da execução ou seja, sempre vai executar esse bloco pelo menos 1 vez o while(){} testa a condição no inicio, ou seja, pode não executar o bloco nenhuma vez, se a condição for falsa e o com o for você determina o inicio e o fim;