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