Decisões

Sintaxe

if(condição){
   Bloco de código
}

A instrução if é a mais básica de todas as estruturas de decisão. Ela executa um bloco de código se uma condição fôr verdadeira (true).

Exemplo:

int hora = 7; 

if(hora < 12){ 
   System.out.println("Bom dia"); 
}

No exemplo acima, como a condição é verdadeira, o output será: “Bom dia”.

Sintaxe

if(condição){ 
   Bloco de código 1 
}else{ 
   Bloco de código 2 
} 

A instrução if … else executa um bloco de código (bloco de código 1) se a condição fôr
verdadeira (true); se a condição fôr falsa (false) executa outro bloco de código (bloco de
código 2).

Exemplo:

int hora = 16; 
 
if(hora < 12){ 
   System.out.println("Bom dia"); 
}else{ 
   System.out.println("Boa tarde"); 
} 

Sintaxe

if(condição 1){ 
   Bloco de código 1 
}else if(condição 2){ 
   Bloco de código 2 
 … 
}else if(condição n){ 
   Bloco de código n 
}else{ 
… 
} 

A instrução if else if permite definir múltiplas hipóteses de decisão numa única instrução
if.

Uma instrução if pode ter 0 ou mais condições else if. Se houver um else este tem de
estar no final do if.

Exemplo:

int nr = 3;

if(nr == 1){ 
   System.out.println(“Nr igual a 1”); 
}else if(nr == 2{ 
   System.out.println(“Nr igual a 2”); 
}else if(nr == 3){ 
   System.out.println(“Nr igual a 3”); 
}else{ 
   System.out.println(“Nr inválido”); 
} 

Sintaxe

condição ? instrução 1 : instrução 2;

O operador ternário (?:) é uma alternativa à instrução if … then … else.
Se a condição fôr verdadeira (true) executa a instrução 1; se a condição fõr falsa (false)
executa a instrução 2.

Exemplo:

int a = 4; 
int b = 9; 
int minVal = (a < b) ? a : b; 
System.out.println(minVal); //output: 4 

Sintaxe

switch(var){ 
   case val1: 
      bloco codigo 1; 
     [break]; 
… 
   case valn: 
      bloco código 2; 
      [break]; 
   [default: 
      Bloco_codigo_default;] 
} 

A instrução switch é uma estrutura de decisão múltipla. Com base no valor de uma variável
(var), pode executar um ou mais de vários blocos de código.
Consoante o valor de var, vai comparar o valor de var com cada secção case. Se encontrar
uma secção case em que o valor seja igual a var, executa o bloco de código dessa secção
case.

Após executar o bloco de código na secção case encontrada, executa todos os blocos de
código abaixo até encontrar a instrução break.
Se não houver nenhuma secção case com valor igual à variável var, executa o código da
secção default.
A instrução switch avalia valores inteiros, ou seja, a variável var e as secções case só
podem ter valores inteiros. No entanto, a partir do Java SE7, a instrução switch pode
também avaliar strings.

Exemplo 1:

public class SwitchMonth { 
   public static void main(String[] args) { 
     int month = 8; 
     String monthString; 
     switch (month) { 
        case 1: 
           monthString = "Janeiro"; 
           break;  
        case 2: 
           monthString = "Fevereiro"; 
           break;
        case 3: 
           monthString = "Março"; 
           break; 
        case 4: 
           monthString = "Abril"; 
           break;
        case 5: 
           monthString = "Maio"; 
           break;
        case 6: 
           monthString = "Junho"; 
           break;
        case 7: 
           monthString = "Julho"; 
           break;
        case 8: 
           monthString = "Agosto"; 
           break;
        case 9: 
           monthString = "Setembro";            
           break;
        case 10: 
           monthString = "Outubro"; 
           break; 
        case 11: 
           monthString = "Novembro"; 
           break; 
        case 12: 
           monthString = "Dezembro"; 
           break; 
        default: 
           monthString = "Mês inválido"; 
     }
 
     System.out.println(monthString); 
   }
}

Output do exemplo acima: “Agosto”

Exemplo 2:

public static int getMonthNumber(String month) { 
   int monthNumber = 0; 
 
   switch (month.toLowerCase()) { 
      case "january": 
         monthNumber = 1; 
         break; 
      case "february": 
         monthNumber = 2; 
         break; 
      case "march": 
         monthNumber = 3; 
         break; 
      case "april": 
         monthNumber = 4; 
         break; 
      case "may": 
         monthNumber = 5; 
         break; 
      case "june": 
         monthNumber = 6; 
         break; 
      case "july": 
         monthNumber = 7; 
         break; 
      case "august": 
         monthNumber = 8; 
         break; 
      case "september": 
         monthNumber = 9; 
         break; 
      case "october": 
         monthNumber = 10; 
         break; 
      case "november": 
         monthNumber = 11; 
         break; 
      case "december": 
         monthNumber = 12; 
         break; 
      default: 
         monthNumber = 0; 
         break; 
} 
return monthNumber; 
}