if

名称

if

説明

if文は条件をチェックし、trueであれば、その後の文を実行する。

書式

if (condition) {
  //statement(s)
}

引数

conditionboolean表現。trueかfalse。

使用例

if 文の後の波括弧は省略されることがある。この場合は、その次の行(セミコロンによって区切られる)だけが条件によって実行される命令となる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
if (x > 120) digitalWrite(LEDpin, HIGH);

if (x > 120)
digitalWrite(LEDpin, HIGH);

if (x > 120) {digitalWrite(LEDpin, HIGH);}

if (x > 120) {
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH);
}
// all are correct

注意

丸括弧の中で評価される式では、1個以上の関係演算子や比較演算子を利用することが多い。

(訳者註)式の結果が0であれば偽、そうでなければ真となる。必ずしも演算子を利用する必要はない。

比較演算子

1
2
3
4
5
6
x == y (x is equal to y)
x != y (x is not equal to y)
x <  y (x is less than y)
x >  y (x is greater than y)
x <= y (x is less than or equal to y)
x >= y (x is greater than or equal to y)

例えば、if (x = 10)のように、「=」を誤って使わないように注意すること。「=」は、単純代入演算子であり、前の例ではxを10に設定する。この場合は、if(x== 10)のように、等価演算子である「==」を使い、xが10かどうかを調べる必要がある。後者(x == 10)は、xが10のときだけ真であるが、前者(x = 10)は、常に真である。

これは、C++言語がif(x = 10)という文を以下のように評価することによる。最初に、xに10を代入する(=は単純代入演算子である)。このため、今xは10である。 if文が10を評価する。そして、ゼロ以外の数字は真と評価されるため、これは常に真である。よってif(x = 10)は、常に真であり、if文を使うときの結果としては好ましくないものである。さらに、xには10が代入され、これも好ましくない結果である。

参照

言語 else

オリジナルのページ

https://www.arduino.cc/reference/en/language/structure/control-structure/if/

Last Revision: 2022/06/19

最終更新日

January 4, 2024

inserted by FC2 system