1. El Octavo Bit
  2. / Lenguaje de programación de Arduino
  3. / Switch case

Switch case

| Actualizado:
Comentarios: 0

La sentencia switch es similar a una serie de sentencias if en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a qué valor hace referencia.

Sintaxis:

switch (expresión) {
    case valor1:
           //Instrucciones que se ejecutarán cuando sea igual al valor1
           break;
    case valor2:
           //Instrucciones que se ejecutarán cuando sea igual al valor2
           break;
           //Puede haber los “case” que se deseen, y al final una sección default
    default:
       //Instrucciones que se ejecutan si no se ha ejecutado ningún case anterior
}

El bloque switch es como un if else, como se puede ver consta de una serie de instrucciones case y opcionalmente un default. En el primer case se evalua la condición, si esta se cumple, ejecuta solamente las instruciones hasta el break. Si no cumple la condición pasara al siguente case.

En el caso de que no cumpla ninguna condición hara las instruciónes que le hemos indicado en default, es opcional colocar default.

Ejemplo:

En el siguiente ejemplo hemos creado una varible x, que es la que se va a comparar en cada caso del switch. Si la variable vale 20, en el monitor serial veremos «Vale 20 exactamente», si su valor es 50 «Vale 50 exactamente» y si no cumple ninguna de las dos anteriores «No vale ninguna de los valores anteriores».

byte x=50;

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

void loop(){
  switch (x) {
    case 20:
      Serial.println("Vale 20 exactamente");
      break;
    case 50:
      Serial.println("Vale 50 exactamente");
      break;
    default:
      Serial.println("No vale ninguna de los valores anteriores");
  }
  delay(1000);
}

Ver también:

Comentarios - 0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *