Mudanças entre as edições de "Pensamento Computacional - Comandos de repetição no Java: do while() e for()"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(u)
Linha 49: Linha 49:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
Deve ser observado que duas instruções estão sob controle do comando "do while" e, portanto, é necessário usar um bloco.
  
 
==Exercício 1 ==
 
==Exercício 1 ==

Edição das 09h24min de 28 de setembro de 2023

Objetivos

Comando do while()

Em muitas situações é mais interessante que o controle de execução do loop seja realizado no final da estrutura de repetição, ou seja, as instruções do laço do loop serão realizadas pelo menos uma vez, independente da condição de repetição. Neste caso, aplica-se o comando do while().

Sintaxe e Semântica do 'comando do while()'

O comando 'do while' apresenta a seguinte sintaxe:

do
    instrução
while ( expressao )

onde a a instrução pode ser:

    instrução simples terminada em ';'
ou
    bloco de instruções com chaves

Inicialmente, a instrução/bloco é executada e então a expressão é avaliada. Se verdadeira, a instrução é executada novamente e a expressão avaliada novamente.



Exemplo 1 - Validação de Entrada de dados

Suponha que um programa deve ler um número inteiro mas que seja positivo. Neste caso, o dado deve ser lido e se não positivo uma nova leitura deverá ser realizada.

import java.util.Scanner;

public class EntradaDados {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        int dadoInteiro;
        
        do {
            System.out.println("Entre com um valor inteiro e positivo");
            dadoInteiro = teclado.nextInt();
        } while( dadoInteiro <= 0 );

        System.out.println("Valor lido é " + dadoInteiro);
    }    
}

Deve ser observado que duas instruções estão sob controle do comando "do while" e, portanto, é necessário usar um bloco.

Exercício 1

No exemplo de entrada de dados, poderia ser necessário colocar uma mensagem de que foi fornecido um dado negativo ou zero. Acrescente um código para esta mensagem.

Comando for()