Controle de Fluxo - Parte l

Para quem está acompanhando os artigos sobre a certificação, nesse ponto será abordado sobre controle de fluxo.

Para quem está acompanhando os artigos sobre a certificação, nesse ponto será abordado sobre controle de fluxo. Sabemos que o controle de fluxo é fundamental em qualquer linguagem, então para a certificação você precisa estar interado totalmente no assunto. Para aqueles que não acompanharam os outros arquivos aqui segue os links.

IF - ELSE

O comando IF é comum em muitas linguagens de programação, sua função é verificar se uma condição é verdade ou falsa. Assim como mostra o código abaixo.

if (2 > 1) { System.out.println(“É maior”); }

Olhando assim parece ser fácil? Mas pode ter certeza que não será cobrado assim no exame. Pode ter certeza se eles puderem complicar a sua vida eles irão complicar.

int i = 10; if (i > 10) { if (i == 10) { System.out.println(“x igual a 10”); } else if (i == i++) { System.out.println(“i menor que 10”); } else { System.out.println(“i não é menor que 10”); }

Complicou um pouco? Qual seria o resultado? Seria muito mais fácil se o código estivesse como o código abaixo.

int i = 10; if (i > 10) { if (i == 10) { System.out.println(“x igual a 10”); } else if (i == i++) { System.out.println(“i menor que 10”); } else { System.out.println(“i não é menor que 10”); }

Ai sim você diria com toda aquela certeza que o resultado é NADA, pois a primeira condição é FALSE e não tenho nenhum ELSE que gere um resultado. Veja todos os ELSE que existe é referente ao segundo IF. Preste muito atenção nos IF aninhados, com certeza isso pode te pegar.

Falamos que o IF verifica apenas uma condição booleana, então caso veja esse tipo de coisa no exame pode ter certeza que está errado e gerará um erro de compilação.

if (10 = 5) { ... } //Aqui gera um erro de compilação else { ... }

Mas e caso você encontre isso?

boolean x = false; if (x = true) {System.out.println(“Isso pode?!?”);} else {System.out.println(“Isso não pode?!?”)}

O código apresentado acima irá compilar perfeitamente por que (x = true) é uma atribuição e isso é perfeitamente válido.

SWITCH

O comando switch também é utilizado para verificação de valores, mas existe alguns detalhes que você precisa saber, tais como o switch só poderá ser aplicado a variáveis int, short, byte e char. Portanto qualquer tentativa de usar com variáveis boolean, long, double, flout e um objeto resultará em um erro de compilação.

Veja no código abaixo um exemplo clássico do uso do switch.

int x = 3; switch (x) { Case 1 : { System.out.println(“x vale 1”); break; } case 2: System.out.println(“x vale 2”); break; default: System.out.println(“x é maior que 2”); break; }

Lembre-se que não é obrigatório o uso das chaves, isso é opcional, porém o break é necessário, pois caso seja omitido o fluxo seguirá normalmente como você pode ver no código seguinte.

int x = 2; switch (x) { case 1 : { System.out.println(“x vale 1”); System.out.println(“x vale 1”); break; } case 2: System.out.println(“x vale 2”); break; default: System.out.println(“x é maior que 2”); System.out.println(“x é maior que 2”); break; }

O resultado deste código é:

x vale 2 x é maior que 2 x é maior que 2

Pois entrará case 2 e como o próprio não tem o break o fluxo segue normalmente.

Outro detalhe que você deve lembrar quando se trata do comando switch é que não deve haver cases igual e não pode omitir os parênteses da variável.

Na próxima parte do nosso artigo iremos continuar sobre while, do while, for, for-each, break, continue e instruções rotuladas. Espero vocês!!

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados