Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Uso de switch case

Porque não utilizamos sempre o switchcase ao invés do ifelse? Qual é mais recomendada a utilização no java no fim das contas?

1 resposta
solução!

Olá,

todos são estruturas condicionais, mas depende muito do contexto.

Em resumo, o switch vc consegue comparar o mesmo valor com várias opções. Já o if/else, vc pode comparar vários valores.

Por exemplo, em uma situação onde o usuário deve escolher uma opção. O switch parece melhor. Enquanto em uma situação onde precisamos testar se um valor está dentro de um intervalo, o if/else pode ser melhor.

Exemplos abaixo:

  • Uso do switch: Nesse caso, como temos que testar um valor para várias opções, o switch é melhor. Imagine a complexidade da manutenção de um if/else aqui.
            System.out.printf(
                "Entre com o código do combustível preferido: \n" +
                "\t1 - Alcool\n" +
                "\t2 - Gasolina\n" +
                "\t3 - Diesel\n" +
                "\t4 - Fim\n" +
                "\t> %d\n", opcao);

            switch(opcao){
                case 1: 
                    alcool++;
                    break;
                case 2: 
                    gasolina++;
                    break;
                case 3: 
                    diesel++;
                    break;
                case 4: 
                    break;
                default:
                    System.out.println("Código inválido, informe novamente");
            }
  • Uso do if/else: Nesse caso, o if/else é melhor, pois estamos testando uma condição/expressão. Switch não aceita expressões de maior/menor.
        if (calculaMedia() >= 60) {
            return "APROVADO";
        }
        return String.format("REPROVADO. Faltou %.2f pontos", 
            60 - calculaMedia());
Resolveu? Por favor, marcar como solucionado ✔. Bons estudos! ⌣