switch...case

switch (variável) { case valor: ... break; }

Quando você precisa comparar a mesma variável com vários valores possíveis, o switch...case deixa tudo mais limpo do que uma pilha de if...else. Ele salta direto para o case que bate com o valor e roda até encontrar um break.

Sintaxe

switch (variável) {
  case valor1:
    // ...
    break;
  case valor2:
    // ...
    break;
  default:
    // quando nenhum bate
    break;
}

Parâmetros

  • variável: valor inteiro (int, char, byte...) que será comparado.
  • case valorN: cada valor constante possível a comparar.
  • default (opcional): roda quando nenhum case bate.

Retorno

Nada (void).

Exemplo

void setup() {
  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    char comando = Serial.read();
    switch (comando) {
      case 'a':
        Serial.println("Acendendo");
        break;
      case 'd':
        Serial.println("Desligando");
        break;
      default:
        Serial.println("Comando invalido");
        break;
    }
  }
}

Notas e cuidados

  • Sempre coloque break no fim de cada case; sem ele o código "vaza" para o próximo caso (o famoso fall-through).
  • Só funciona com valores inteiros/constantes — não dá para usar faixas (x > 10) nem String.
  • Omitir o break de propósito é uma técnica válida para agrupar casos, mas comente para não parecer erro.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker