Arduino言語におけるswitch case 構文

Arduino

Arduinoにおいて、さまざまな条件分けをしたいとき、if文で構成することがほとんどだと思います。
しかし、条件分岐が10とか20とか(あんまりないとは思いますが)あった時はどうしましょう。

C/C++言語にはswitch文があり、C/C++言語をベースとしているArduino言語も同じ構文が使えます。

以下にプログラム例を記載します。

switch (var) {
  case 1:
    // varが1のときに実行する処理
    break;
  case 2:
    // varが1のときに実行する処理
    break;
  default: 
    // どのcaseラベルにも一致しないときに実行する処理
    // defaultは、省略可能
  }

varが変数であり、varが1の時、case 1の処理が実行されます。
varが2の時、case 2の処理が実行されます。
varが1, 2以外の時は、defaultの処理が実行されます。

case 1, case 2の処理後の “break;”はそれぞれのcaseの処理が終了したということを示す文です。
この文がないと、エラーを起こしたりします。

defaultの処理において、break; が必要ないのは、defaultは最後の条件分岐になり、最後の処理というのが明白なためです。
ただ、書いてはいけないわけではなく、書いても問題なくプログラムは動きます。

また、default: 自体も省略することができます。
if else構文のelseの省略のような感覚です。

個人的にはswitch case構文はif構文よりもプログラムを見たときのスッキリさはあると思います。
そこまで難しいコードでもないので、ぜひ使ってみてください。

コメント

タイトルとURLをコピーしました