ここではC#のif文について理解しましょう。これはプログラムの基本構造で説明した選択にあたる処理です。
なお、プログラムの基本構造が分からない人は先に次の記事を読んでください。
プログラムの基本構造とは何でしょうか? これは特定のプログラミング言語に限らず、どの言語にも応用できる話です。内容は非常にシンプルで難しくありません。今後の助けになるので、ぜひ理解してください。 3つの基本構造 先に名前を出すと順次、選択、反復です。この3つの構造を使えば、どんなプログラムでも作れると言われてます。では、この3つは何を意味するのでしょうか。順番に解説していきます。 順次 (sequence) 最もシンプルな構造で、処理が上から下に進むことを...
if statement (ステートメント)
いわゆる条件分岐でif文と呼びます。つまりは何らかの条件に従って、いずれかの処理を実行する構文です。
パターン1: if
いくつかパターンがありますが、最も簡単な記述はこれです。
これは条件を満たすとブロック内に処理が進み、満たさない場合はブロックを無視して先に進みます。
条件式にはbool値を記述します。これは論理演算や比較演算など、結果が真偽値になるなら何でもOKです。
理解するには例を見るのが早いでしょう。サンプルコードを用意してるので実行して確認してください。
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
int n = 10;
if (n > 0)
{
Console.WriteLine("true");
}
}
}
}
nの値を0以下にすると条件式を満たさなくなりtrueが表示されなくなります。
パターン2: if ~ else
次のパターンはこちら。これは条件式を満たした場合と満たさなかった場合の処理を同時に記述します。
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
int n = 10;
if (n > 0)
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
}
}
}
どちらか片方しか処理されません。
nの値を変更して動作を確認してみよう!
パターン3: if ~ else if
次のパターンはこちら。これは複数の条件式を同時に記述する構文です。
記述できる数に制限はありません。好きなだけ書いてください、
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
int n = 10;
if (n > 5)
{
Console.WriteLine("true1");
}
else if (n > 3)
{
Console.WriteLine("true2");
}
else if (n > 0)
{
Console.WriteLine("true3");
}
}
}
}
この構文のポイントは先に満たした条件式のみ処理されます。具体例として次のパターンを見てみましょう。
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
int n = 10;
if (n > 0)
{
Console.WriteLine("true1");
}
else if (n > 3)
{
Console.WriteLine("true2");
}
else if (n > 5)
{
Console.WriteLine("true3");
}
}
}
}
これはnの数値を変えても2番目と3番目の条件式を満たすことはありません。
理由は先に1番目の条件式を満たすため、2番目と3番目のみを満たす数値が存在しないからです。
プログラムの構文としては正しいからエラーにならないよ。条件式の順番には注意しようね。
パターン4: if ~ else if ~ else
最後のパターンです。else ifを記述した場合でも最後にelseを記述することができます。
この場合は途中のelse ifは好きなだけ書けますが、elseは最後に1つのみです。
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
int n = 10;
if (n > 5)
{
Console.WriteLine("true1");
}
else if (n > 3)
{
Console.WriteLine("true2");
}
else if (n > 0)
{
Console.WriteLine("true3");
}
else
{
Console.WriteLine("false");
}
}
}
}
あとがき
プログラムは分岐の連続と言われるほど選択を多用します。その中でもif文は最も基礎となるので必須です。
◆ C#に関する学習コンテンツ
この記事は参考になりましたか?
コメント