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!!