Buscar

Estruturas de Controle

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Murilo Ybañez
Controlando o Fluxo de ExecuçãoControlando o Fluxo de Execução
Murilo Ybañez
ObjetivosObjetivos
Após esta lição, você deve estar apto a:
• Usar instruções de tomada de decisão
• Executar operações de repetição
Após esta lição, você deve estar apto a:
• Usar instruções de tomada de decisão
• Executar operações de repetição
Murilo Ybañez
Tipos de Controle Básicos Tipos de Controle Básicos 
O controle de fluxo pode ser categorizado 
em 4 tipos:
O controle de fluxo pode ser categorizado 
em 4 tipos:
SeqüencialSeqüencial
TransferênciaTransferência
SeleçãoSeleção
IteraçãoIteração
Murilo Ybañez
Controle de Fluxo no JavaControle de Fluxo no Java
• Agrupe os comandos usando chaves 
para formar comandos compostos 
(blocos).
• Cada bloco executa como se fosse um 
comando único dentro da estrutura de 
controle de fluxo.
• Agrupe os comandos usando chaves 
para formar comandos compostos 
(blocos).
• Cada bloco executa como se fosse um 
comando único dentro da estrutura de 
controle de fluxo.
{
boolean terminado = true;
System.out.println("i = " + i);
i++;
}
Murilo Ybañez
O comando ifO comando if
if (expr_logica )
comando1;
[else]
comando2;
if (i % 2 == 0)
System.out.println("Par");
else
System.out.println("Ímpar");
… if (i % 2 == 0) {
System.out.println(i);
System.out.println(" é par");
}
Forma geral:Forma geral:Forma geral:
Exemplos:Exemplos:Exemplos:
Murilo Ybañez
Comandos if aninhadosComandos if aninhados
if (velocidade >= 25)
if (velocidade > 65)
System.out.println("Velocidade acima de 65");
else
System.out.println(“Velocidade acima de 25");
else
System.out.println(“Velocidade abaixo de 25");
if (velocidade > 65)
System.out.println("Velocidade acima de 65");
else if (velocidade >= 25)
System.out.println("Velocidade acima de 25");
else
System.out.println("Velocidade abaixo de 25");
Murilo Ybañez
O Operador Condicional (?:)O Operador Condicional (?:)
• Uma alternativa útil ao if…else:
• Se expr_logica é true, o resultado é 
expr1, caso contrário o resultado é 
expr2:
• Uma alternativa útil ao if…else:
• Se expr_logica é true, o resultado é 
expr1, caso contrário o resultado é 
expr2:
expr_logica ? expr1 : expr2
int val1 = 120, val2 = 0;
int maior;
maior = (val1 > val2) ? 100 : 200;
System.out.println("O maior valor é " + maior);
Murilo Ybañez
Prática: Identifique os ErrosPrática: Identifique os Erros
int x = 3, y = 5;
if (x >= 0)
if (y < x)
System.out.println("y é menor que x");
else
System.out.println("x é negativo");
int x = 7;
if (x = 0)
System.out.println("x é zero");
int x = 15, y = 24;
if ( x % 2 == 0 && y % 2 == 0 );
System.out.println("x e y são par");
1
2
3
Murilo Ybañez
O comando switchO comando switch
• Útil para 
realizar uma 
seleção a partir 
de um conjunto 
de valores 
inteiros
• Útil para 
realizar uma 
seleção a partir 
de um conjunto 
de valores 
inteiros
switch (expr_inteira ) {
case expr_constante1:
comando1;
break;
case expr_constante2:
comando2;
break;
[default:
comando3;
break;]
}
Murilo Ybañez
Mais sobre o comando switchMais sobre o comando switch
• Rótulos 
“case” 
devem ser 
constantes.
• Use break
para sair do 
switch.
• Sempre 
forneça um 
default.
• Rótulos 
“case” 
devem ser 
constantes.
• Use break
para sair do 
switch.
• Sempre 
forneça um 
default.
switch (alternativa) {
case 37:
System.out.println("Café?");
break;
case 45:
System.out.println("Chá?");
break;
default:
System.out.println("???");
break;
}
Murilo Ybañez
IteraçãoIteração
• Três tipos de laço no Java:
– while
– do…while
– for
• Todos os laços têm quatro partes:
– Inicialização
– Iteração
– Corpo
– Término
• Três tipos de laço no Java:
– while
– do…while
– for
• Todos os laços têm quatro partes:
– Inicialização
– Iteração
– Corpo
– Término
Murilo Ybañez
• while é o laço mais simples e possui a 
forma geral a seguir:
• Exemplo:
• while é o laço mais simples e possui a 
forma geral a seguir:
• Exemplo:
while (expr_logica )
comando;
int i = 0;
while (i < 10) {
System.out.println("i = " + i);
i++;
}
O laço whileO laço while
Murilo Ybañez
• O laço do…while realiza o teste no 
final:
• Exemplo:
• O laço do…while realiza o teste no 
final:
• Exemplo:
do
comando;
while ( término );
int i = 0;
do {
System.out.println("i = " + i);
i++;
} while (i < 10);
O laço do…whileO laço do…while
Murilo Ybañez
O laço forO laço for
• Laços for são os mais comuns:
• Exemplo:
• Como este laço for ficaria usando 
while?
• Laços for são os mais comuns:
• Exemplo:
• Como este laço for ficaria usando 
while?
for (i = 0; i < 10; i++)
System.out.println(i);
for ( inicialização; término; iteração )
comando;
Murilo Ybañez
Mais sobre o laço forMais sobre o laço for
• Variáveis podem ser declaradas na 
parte de inicialização do for:
• A inicialização e a iteração podem ser uma 
lista de expressões separadas por vírgula:
• Variáveis podem ser declaradas na 
parte de inicialização do for:
• A inicialização e a iteração podem ser uma 
lista de expressões separadas por vírgula:
for (int i = 0; i < 10; i++)
System.out.println("i = " + i);
for (int i = 0, j = 10; i < j; i++, j--) {
System.out.println("i = " + i);
System.out.println("j = " + j);
}
Murilo Ybañez
Prática: identifique os errosPrática: identifique os erros
int x = 10;
while (x > 0);
System.out.println(x--);
System.out.println("Nós decolamos!");
int x = 10;
while (x > 0)
System.out.println("x is " + x);
x--;int soma = 0;
for (; i < 10; soma += i++);
System.out.println("A soma é " + soma);
1
2
3
Murilo Ybañez
O comando breakO comando break
Termina um laço ou um comando switch:
• Transfere o controle para o primeiro comando 
após o comando switch ou o corpo do laço
• Pode simplificar o código
Termina um laço ou um comando switch:
• Transfere o controle para o primeiro comando 
após o comando switch ou o corpo do laço
• Pode simplificar o código
…
while (cont <= 65) {
saldo = (saldo+pagamento) * (1 + taxa));
if (saldo >= 250000)
break;
cont++;
}
… 
Murilo Ybañez
…
for (int ano = 2000; ano < 2099; ano++) {
if ((ano % 100 == 0) && (ano % 400 != 0))
continue;
if (ano % 4 == 0)
System.out.println(ano);
}
… 
O comando continueO comando continue
• Pode ser usado apenas nos laços
• Abandona a iteração corrente do laço e 
pula para a próxima iteração
• Pode ser usado apenas nos laços
• Abandona a iteração corrente do laço e 
pula para a próxima iteração
Murilo Ybañez
Comandos break e continue
rotulados
Comandos break e continue
rotulados
• Podem ser usados respectivamente para 
interromper laços aninhados ou continuar a 
iteração em um laço externo ao laço corrente
• Podem ser usados respectivamente para 
interromper laços aninhados ou continuar a 
iteração em um laço externo ao laço corrente
loop_externo:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(i, j);
if (i + j > 7)
break loop_externo;
}
}
… 
Murilo Ybañez
SumárioSumário
Nesta lição, você deve ter aprendido que:
• A forma primária de tomada de decisão 
é o comando if, com o opcional else.
• Java também oferece o comando 
switch.
• Java provê três comandos de laço: 
while, do…while, e for.
• Use break e continue de forma 
criteriosa.
Nesta lição, você deve ter aprendido que:
• A forma primária de tomada de decisão 
é o comando if, com o opcional else.
• Java também oferece o comando 
switch.
• Java provê três comandos de laço: 
while, do…while, e for.
• Use breake continue de forma 
criteriosa.

Outros materiais