[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ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。