IF文
紹介
このセクションでは、Wave言語で提供される制御文の一つであるIF文の文法と使い方について説明します。 IF文は条件を評価して、その条件が真の場合にのみ特定のコードブロックを実行する基本的な制御構造です。
これにより、プログラムは単に上から下に実行されるフローを超えて、状況や条件に応じて異なる動作を実行することができます。 IF文はほぼすべてのプログラムの核心を成す要素であり、論理的な分岐とフロー制御を実装するために欠かせないものです。
基本構造
IF文はまず条件式を評価し、その結果が真(True)の場合にのみ中括弧 {} に記述されたコードブロックを実行します。
条件が偽(False)の場合はそのブロックをスキップして次のコードに進みます。
WaveのIF文の基本構造は以下のとおりです。
if (条件) {
// 条件が真の場合に実行されるコード
}
条件式には比較演算子や論理演算子を自由に使用できます。
例えば、==, !=, <, >, <=, >=のような比較演算子を使用して値の関係を比較したり、&&, ||, !のような論理演算子を使って複数の条件を組 み合わせることもできます。
条件式の結果は必ず真または偽に評価されなければならず、条件が偽の場合はIFブロック内のコードは実行されません。
例
以下は最も単純な形のIF文の例です。
var temperature :i32 = 30;
if (temperature > 25) {
println("天気が暑いです。");
}
上記のコードでは、temperature変数の値が25より大きいかどうかを条件として評価します。
条件が真の場合、"天気が暑いです。"というメッセージが出力され、条件が偽の場合は何も実行されません。
このようにIF文は、特定の条件を満たす場合にのみコードを実行したいときに使用されます。
IF-ELSE文
条件が真でない場合にも実行すべきコードがある場合は、IF文にELSE節を追加できます。 IF-ELSE文は条件の結果に応じて2つのコードブロックのいずれかを選択的に実行する構造です。
基本的な構造は次の通りです。
if (条件) {
// 条件が真の場合に実行されるコード
} else {
// 条件が偽の場合に実行されるコード
}
条件が真の場合はIFブロックが実行され、条件が偽の場合はELSEブロックが実行されます。 二つのブロックのうちどちらか一方のみが実行され、同時に実行されることはありません。
次は、IF-ELSE文を使用した例です。
var score :i32 = 70;
if (score >= 60) {
println("合格です!");
} else {
println("不合格です。");
}
このコードでは、scoreが60以上かどうかに応じて異なるメッセージを出力します。
条件が真の場合は「合格です!」が表示され、そうでない場合は「不合格です。」が表示されます。
ネストされたIF文
IF文は他のIF文の内部でも使用でき、これをネストされたIF文と呼びます。 ネストされたIF文は、複数の条件を段階的に評価する必要があるときに役立ちます。
次の例は、スコアに応じて異なる結果を出力するネストされたIF文の例です。
var score :i32 = 85;
if (score >= 60) {
if (score >= 90) {
println("優秀な成績です!");
} else {
println("合格です。");
}
} else {
println("不合格です。");
}
このコードでは、まずスコアが60以上かどうかを確認します。 60未満の場合はすぐに「不合格です。」が表示されます。 60以上の場合は再度条件を評価し、スコアが90以上であれば「優秀な成績です!」を出力し、そうでなければ「合格です。」を出力します。
このように、ネストされたIF文を使用すると、複雑な条件の分岐を段階的に表現することができます。