Java Se... Senão


Condições Java e instruções if

Java suporta as condições lógicas usuais da matemática:

  • Menor que: a < b
  • Menor ou igual a: a <= b
  • Maior que: a > b
  • Maior ou igual a: a >= b
  • igual a a == b
  • Diferente de: a != b

Você pode usar essas condições para executar ações diferentes para decisões diferentes.

Java tem as seguintes declarações condicionais:

  • Use ifpara especificar um bloco de código a ser executado, se uma condição especificada for verdadeira
  • Use elsepara especificar um bloco de código a ser executado, se a mesma condição for falsa
  • Use else ifpara especificar uma nova condição a ser testada, se a primeira condição for falsa
  • Use switchpara especificar muitos blocos alternativos de código a serem executados

A declaração if

Use a ifinstrução para especificar um bloco de código Java a ser executado se uma condição for true.

Sintaxe

if (condition) {
  // block of code to be executed if the condition is true
}

Observe que ifestá em letras minúsculas. Letras maiúsculas (If ou IF) gerarão um erro.

No exemplo abaixo, testamos dois valores para descobrir se 20 é maior que 18. Se a condição for true, imprima algum texto:

Exemplo

if (20 > 18) {
  System.out.println("20 is greater than 18");
}

Também podemos testar variáveis:

Exemplo

int x = 20;
int y = 18;
if (x > y) {
  System.out.println("x is greater than y");
}

Exemplo explicado

No exemplo acima usamos duas variáveis, x e y , para testar se x é maior que y (usando o >operador). Como x é 20 e y é 18, e sabemos que 20 é maior que 18, imprimimos na tela que "x é maior que y".



A declaração else

Use a elseinstrução para especificar um bloco de código a ser executado se a condição for false.

Sintaxe

if (condition) {
  // block of code to be executed if the condition is true
} else {
  // block of code to be executed if the condition is false
}

Exemplo

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}
// Outputs "Good evening."

Exemplo explicado

No exemplo acima, o tempo (20) é maior que 18, então a condição é false. Por conta disso, passamos para a elsecondição e imprimimos na tela "Boa noite". Se a hora fosse menor que 18, o programa imprimiria "Bom dia".


A declaração else if

Use a else ifinstrução para especificar uma nova condição se a primeira condição for false.

Sintaxe

if (condition1) {
  // block of code to be executed if condition1 is true
} else if (condition2) {
  // block of code to be executed if the condition1 is false and condition2 is true
} else {
  // block of code to be executed if the condition1 is false and condition2 is false
}

Exemplo

int time = 22;
if (time < 10) {
  System.out.println("Good morning.");
} else if (time < 20) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}
// Outputs "Good evening."

Exemplo explicado

No exemplo acima, o tempo (22) é maior que 10, então a primeira condição é false. A próxima condição, na else ifinstrução, também é false, então passamos para a else condição, pois condição1 e condição2 são ambas false- e imprimimos na tela "Boa noite".

No entanto, se a hora fosse 14, nosso programa imprimiria "Bom dia".


Short Hand If... Else (Operador Ternário)

Há também uma abreviação if else, que é conhecida como operador ternário porque consiste em três operandos. Ele pode ser usado para substituir várias linhas de código por uma única linha. É frequentemente usado para substituir instruções if else simples:

Sintaxe

variable = (condition) ? expressionTrue :  expressionFalse;

Em vez de escrever:

Exemplo

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}

Você pode simplesmente escrever:

Exemplo

int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);


Teste-se com exercícios

Exercício:

Imprima "Hello World" se xfor maior que y.

int x = 50;
int y = 10;
 (x  y) {
  System.out.println("Hello World");
}