演算子

演算子を用いることで様々な演算を行うことができます

Arduino言語には様々な演算子がありますが、このセクションでは算術演算子、比較演算子、論理演算子と一部の複合演算子の説明を行います

算術演算子

数値を計算することのできる演算子です

算術演算子例の演算結果意味
+1 + 23足し算
-2 - 11引き算
*2 * 24掛け算
/10 / 52割り算
%3 % 21割り算の余り
=a = 5aは5代入

複合演算子

変数に対して代入と計算を同時に行うことのできる演算子です
複合演算子を使うことでプログラムを簡潔に記述することができます

複合演算子意味
++a++a = a + 1
a–a = a - 1
+=a += 2a = a + 2
-=a -= 2a = a - 2
*=a *= 2a = a * 2
/=a /= 2a = a / 2
%=a %= 2a = a % 2

++ (インクリメント)と -- (デクリメント)は ++a のように、変数の前に置くこともできますが、意味が変わります

int a = 0;
int b = 1;

a = b++; // a = 1, b = 2 となり、代入=>インクリメント となる

a = ++b; // a = 2, b = 2 となり、インクリメント=>代入 となる

上記の例のように、インクリメントやデクリメントをした変数の値をほかの変数に代入する場合に、代入結果が変わることに注意してください

比較演算子

二つの値を比較することができる演算子です

主に if文 で使用します

比較演算子意味
==a == baとbが等しいか
!=a != baとbが等しくないか
<a < baはb未満か
>a > baはbより大きいか
<=a <= baはb以下か
>=a >= baはb以上か

演算の結果は bool で返ってくるので変数に代入することも可能です

bool var = a == b;

論理演算子

真偽値(boolean)を扱うことができる演算子です
論理演算を行います

複数の条件を組み合わせた分岐処理を作成したいときなどに使用します

論理演算子意味
!!aNOT
&&a && bAND
||a || bOR
bool t = true;
bool f = false;

bool not = !t; // false
bool and = t && f; // false
bool or = t || f; // true

また、これらの演算子を用いた式は () でまとめることができます

bool exam = (true && false) || (false || true); // true
int n = 5 * (9 + 1); // 10