コードのブロックを実行するかどうかを選択する方法。
if
文は、条件に基づいてコードのブロックを実行するのに役立ちます。 例えば、if
文を使うと、「マウスが押されたら円を描く」という アイデアを簡単に表現できます:
if (mouseIsPressed === true) {
circle(mouseX, mouseY, 20);
}
文のヘッダーはif
キーワードで始まります。括弧内の式 mouseIsPressed === true
は、true
またはfalse
の Boolean
式です。中括弧{}
の間のコードが if文の本体です。本体はBoolean
式がtrue
の場合にのみ実行されます。
mouseIsPressedシステム変数は 常にtrue
またはfalse
なので、上記のコードスニペットは 次のように書くこともできます:
if (mouseIsPressed) {
circle(mouseX, mouseY, 20);
}
if
-else
文は、Boolean
式がfalse
の場合に 実行されるコードのブロックを追加します。例えば、以下は 「マウスが押されたら円を描く。そうでなければメッセージを表示する。」 というアイデアを表現するif
-else
文です:
if (mouseIsPressed === true) {
// trueの場合
circle(mouseX, mouseY, 20);
} else {
// falseの場合
text('クリックしてください!', 50, 50);
}
このコードスニペットには2つの可能なパス、つまりブランチがあります。 プログラムは必ずどちらかのブランチを実行します。
else
-if
文を使うと、さらにブランチを追加することができます。 else
-if
文は、異なる条件下で異なるコードブロックを 実行します。例えば、else
-if
文を使うと、 「マウスが左側にある場合はキャンバスを白く塗る。マウスが中央にある場合は キャンバスをグレーに塗る。それ以外の場合はキャンバスを黒く塗る。」 というアイデアを簡単に表現できます:
if (mouseX < 33) {
background(255);
} else if (mouseX < 67) {
background(200);
} else {
background(0);
}
if
文には必要な数だけelse
-if
文を追加できます。ただし、 else
文は1つだけで、最後に配置する必要があります。
if
文は複数の条件を同時にチェックすることもできます。 例えば、Boolean
演算子&&(AND)は2つの式が 両方ともtrue
かどうかをチェックします:
if (keyIsPressed === true && key === 'p') {
text('あなたは"p"キーを押しました!', 50, 50);
}
ユーザーがキーを押していて、かつそのキーが'p'
である場合、 メッセージが表示されます。
Boolean
演算子||
(OR)は、2つの式のうち 少なくとも1つがtrue
かどうかをチェックします:
if (keyIsPressed === true || mouseIsPressed === true) {
text('何かしました!', 50, 50);
}
ユーザーがキーを押すか、マウスボタンを押すか、またはその両方を行った場合、 メッセージが表示されます。
if
文の本体には、別のif
文を含めることができます。 これを「ネストされたif
文」と呼びます。例えば、ネストされたif
文を 使うと、「キーが押された場合、そのキーが'r'
かどうかをチェックする。 もしそうなら、塗りつぶし色を赤に設定する。」というアイデアを 簡単に表現できます:
if (keyIsPressed === true) {
if (key === 'r') {
fill('red');
}
}