Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
if、==、!=、<、>

名称

if、==、!=、<、>

説明

ifは、式と一緒に用いられ、ある条件、例えば入力が特定の値であるか、が満たされているかを確認する。

書式

if (式) 文

使用例

if による条件確認のための書式は以下の通り。

if (somveVariable > 50)
{
  // ここで何か行う
}

このプログラムは、someVariableが50よりも大きいかどうかを比較する。もし条件が満たされていれば、プログラムはあるコードを実行する。言い換える と、丸括弧内の式が真の場合、波括弧内の命令が実行される。もしそうでなければ、その命令は実行されない。

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

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); 
}                       

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

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

等価演算子と関係演算子

x == y (xとyが等しい)

x != y (xとyは等しくない)

x < y (xはyより小さい)

x > y (xはyより大きい)

x <= y (xはy以下)

x >= y (xは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が代入され、これも好ましくない結果である。

if文はif...else構造での分岐の一部としても用いられる。

訳者註

このページはオリジナルのページと構成を変更しています。

バージョン

Arduino 1.8.4

オリジナルのページ

https://www.arduino.cc/en/Reference/If



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system