| English | 意味 |
|---|---|
| if statement/ɪf ˈsteɪtmənt/ | if文 |
条件付きでのコード実行
- if文は、条件が
trueのときにのみブロックを実行します。 if (score >= 60) { System.out.println("Pass"); }- 条件が
falseの場合、ブロックは完全にスキップされます。 - これは選択であり、プログラムがブロックを実行するかどうかが選ばれます。
else を追加する
elseクラスは、条件がfalseのときに代替コードを実行します。if (score >= 60) { print("Pass"); } else { print("Fail"); }- 2つの枝のうちちょうど1つが実行され、両方が実行されることも、どちらも実行されないこともありません。
elseは任意です。単独のifは偽のときにそのブロックをスキップします。
中括弧はブロックをグループ化
- 大括弧
{ }は、ifまたはelseに属するステートメントをグループ化します。 - 中括弧がない場合、
ifで制御されるのは直後の単一のステートメントのみです。 - 1行であっても常に大括弧を使用してください——これは一般的なバグを防ぎます。
- ブロックをインデントして、構造が一瞥で見えるようにします。
枝のトレース
if-elseをトレースするには、条件を評価し、対応する枝を実行します。score = 75を使用する場合:75 >= 60はtrue→ifブロックを実行 → "Pass" を出力。score = 40を使用する場合:40 >= 60はfalse→elseブロックを実行 → "Fail" を出力。- 選ばれた枝のコードのみが実行されます。
大括弧がない場合、if はそれのすぐ後の1つのステートメントのみを制御します。if (x > 0) a(); b(); は常にb() を実行しますが、インデントは誤解を招きます。必ずブロックを{ } で囲んでください。また、if-else ではちょうど1つの枝が実行され、別々のif ステートメントとは異なり、両方にfall through( fall through)することはありません。
if-else を用いた採点:
if (score >= 90) { grade = "A"; } else { grade = "B"; }score = 95→ 条件true→gradeが"A"です。score = 80→ 条件false→gradeが"B"です。
if文は、その条件が true のときのみブロックを実行します。オプションの else は、条件が false のときに代替コードを実行し、必ず1つの分岐だけが実行されます。かっこ { } を使用して各ブロックをグループ化してください(かっこがない場合、次の単一文のみが制御対象となります)。評価顺序は、条件を評価してから対応する分岐を実行することです。
どの分岐が実行されますか?
最初の真の条件に対応するブロックが実行され、残りはスキップされます。
if-else 文では、2つの分岐のうちいくつが実行されますか?
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
条件に基づき、ちょうど1つの分岐が実行されます。
if (score >= 60) で Pass を出力し、否则で Fail を出力します。score = 40 の場合、何が出力されますか?
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
40 >= 60 は偽 → else ブロックが実行 → Fail。
波括弧がない場合、if 文は直後の単一ステートメントのみを制御します。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
波括弧はブロックをグループ化し、それがない場合は1つのステートメントのみが条件付きとなります。
単独の if(else なし)は、条件が偽のときにブロックをそのままスキップします。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
else がない場合、条件が偽でも何も実行されません。
if 条件が偽のときに実行される節を ___ 節と言います(単語1つ)。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
else は代替分岐を提供します。