Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

comando switch

` insira seu código int mes = 10;

    switch (mes) {
        case 1:
            System.out.println("O mês é Janeiro");
            break;
        case 2:
            System.out.println("O mês é Fevereiro");
            break;
        case 3:
            System.out.println("O mês é Março");
            break;
        case 4:
            System.out.println("O mês é Abril");
            break;
        case 5:
            System.out.println("O mês é Maio");
            break;
        case 6:
            System.out.println("O mês é Junho");
            break;
        case 7:
            System.out.println("O mês é Julho");
            break;
        case 8:
            System.out.println("O mês é Agosto");
            break;
        case 9:
            System.out.println("O mês é Setembro");
            break;
        case 10:
            System.out.println("O mês é Outubro");
            break;
        case 11:
            System.out.println("O mês é Novembro");
            break;
        case 12:
            System.out.println("O mês é Dezembro");
            break;
        default:
            System.out.println("Mês inválido");
            break;
    }

Estou com a seguinte duvida. Por que ao executar o programa com o comando Switch , sem o break, caso ele entre em um dos cases , todos os posteriores serão executados, mesmo com o valor da variável não sendo o que está na opção dos cases?

4 respostas

Boa tarde Matheus,

Então o break quebra o fluxo do switch, ou seja, ele interrompe a continuidade deste bloco, por isso que deve ser colocado.

Mas por que , por exemplo nesse código que eu coloquei (supondo que não tivesse os breaks), a variável mês valendo 10 , entra no ( case 11) sendo que ela não vale 11?

solução!

É o comportamento padrão do (Switch / case). Ignora os comandos dos cases, até que encontre o "case" de acordo com o parâmetro indicado, e a partir dali, executa todos os comandos até encontrar um "brake" ou um "return"(Sai do método, inclusive).

Referência: Aqui no fórum mesmo: https://cursos.alura.com.br/forum/topico-switch-sem-o-comando-break-34850 e/ ou: https://stackoverflow.com/questions/2710300/why-do-we-need-break-after-case-statements

Dessa eu também não sabia o porque, só sabia que era assim. srsrsrs