1
resposta

Comando Switch

Existe alguma forma de usar o comando switch para que ele retorne um valor caso o número se encontre dentro de uma faixa? Ao usar o exemplo do mês; se o mês está entre 1 e 3, então 1 trimestre, se está entre 4 e 6, 2 trimestre e assim por diante.. é possível neste caso usar o switch ao invés de encadear vários ir/else?

1 resposta

Opa João! Em geral o Switch só é utilizado quando a condição que controla seu processo de seleção depende exclusivamente de um único valor. Quando precisamos testar condições com expressões booleanas maiores o ideal é utilizar uma escada if-else-if mesmo. No entanto, se você quiser insistir em usar o Switch mesmo testando muitas condições, pode fazer da seguinte forma:

int mes = 13;

        switch (mes) {
        case 1:
        case 2:
        case 3:    System.out.println("Primeiro trimestre");

            break;

        case 4:
        case 5:
        case 6:    System.out.println("Segundo trimestre");

            break;

        case 7:
        case 8:
        case 9:    System.out.println("Terceiro trimestre");

            break;    

        case 10:
        case 11:
        case 12:    System.out.println("Quarto trimestre");

            break;    

        default: System.out.println("Mês invalido!");
            break;
        }