コードのブロックを実行するかどうかを選択する方法。
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');
}
}