if

[Control Structures]

説明

if は比較演算子と組み合わせて使用​​され、入力が特定の数値を超えているなど、特定の条件に達したかどうかをテストします。

構文

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

媒介変数

condition: a boolean expression (i.e., can be true or false).

if (someVariable > 50)
{
  // do something here
}

このプログラムは、someVariable が 50 より大きいかどうかをテストします。もし 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);
}
// all are correct

注意事項と警告

括弧内で評価されるステートメントには、以下に示す 1 つ以上の演算子を使用する必要があります。

比較演算子:

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 に設定します(変数 x に値 10 を代入します)。代わりに、二重イコール記号(例:if (x == 10))を使用してください。これは比較演算子であり、x が 10 と等しいかどうかをテストします。後者のステートメントは x が 10 と等しい場合にのみ真となりますが、前者のステートメントは常に真となります。

これは、C がステートメント if (x=10) を次のように評価するためです。10 が x に割り当てられ (単一の等号は 代入演算子 であることに留意してください)、x には 10 が含まれます。次に、 ‘if’ 条件文は 10 を評価しますが、これは常に TRUE と評価されます。これは、ゼロ以外の数値がすべて TRUE と評価されるためです。結果として、 if (x = 10) は常に TRUE と評価されますが、これは ‘if’ ステートメントを使用する場合の望ましい結果ではありません。さらに、変数 x は 10 に設定され、これも望ましいアクションではありません。

if は、if…else 構文を使用した分岐制御構造の一部にもなります。


Language Reference Home

86Duinoリファレンスのテキストは、Arduinoリファレンスを改変したもので、Creative Commons Attribution-ShareAlike 3.0ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。

上部へスクロール