if文の使い方その7
今回のC#プログラミング学習も、前回の続きで、分岐処理のif文を学んでいきます。
プログラム例その1
まずは、一つ目のプログラム例から見ていきましょう。
ソースコード
プログラム例その1のソースコードはこちらです。
using System;
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
bool bFlag;
Console.Write("boolean型でif文を使ってみます。");
Console.ReadLine();
bFlag = true;
Console.Write("! + " + bFlag + "のときはif文が");
if ( ! bFlag )
{
Console.Write("成立しました。");
}
else
{
Console.Write("成立しませんでした。");
}
Console.ReadLine();
bFlag = false;
Console.Write("! + " + bFlag + "のときはif文が");
if ( ! bFlag )
{
Console.Write("成立しました。");
}
else
{
Console.Write("成立しませんでした。");
}
Console.ReadLine();
}
}
}
このプログラムをダウンロードするにはここをクリックします。
ビルドと実行
ダウンロードしたZIPファイルを解凍して、「Sample.sln」を開くとVisualStudioが立ち上がってきます。
ビルドメニューから「ソリューションのビルド」を選択し、ビルドします。

ビルドが成功したら、F5キーを押してプログラムを動かします。

プログラムが起動すると、「boolean型でif文を使ってみます。」という文字列が表示されるので、Enterキーを押します。

すると、「! + Trueのときはif文が成立しませんでした。」と表示されるので、Enterキーを押します。

すると次は、「! + Falseのときはif文が成立しました。」と表示されるので、Enterキーを押すとプログラムが終了します。
解説
このプログラムは、前回使ったプログラムを一部改造したものです。
なので見比べていただけるとすぐわかるんですが、さっさと答えを言ってしまうと、if文のカッコの中に「!」が付いています。
bFlag = true;
Console.Write("! + " + bFlag + "のときはif文が");
if ( ! bFlag )
{
Console.Write("成立しました。");
}
else
{
Console.Write("成立しませんでした。");
}
Console.ReadLine();
if文のカッコの中つまり、条件式の頭に「!」を付けただけなんですが、前回のプログラムの実行結果の逆になりました。
このことからわかるように、「!」は条件式の結果を逆にする効果があります。
プログラム例その2
次は、二つ目のプログラム例を見ていきます。
ソースコード
プログラム例その2のソースコードはこちらです。
using System;
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
Console.Write(" 0 を入力:");
int nNumber = int.Parse( Console.ReadLine() );
// 入力された値を調べる
if (nNumber != 0)
{
Console.Write("ゼロ以外が入力されました");
}
else
{
Console.Write("ゼロが入力されました");
}
Console.ReadLine();
}
}
}
ビルドと実行
ダウンロードしたZIPファイルを解凍して、「Sample.sln」を開くとVisualStudioが立ち上がってきます。
ビルドメニューから「ソリューションのビルド」を選択し、ビルドします。

ビルドが成功したら、F5キーを押してプログラムを動かします。

プログラムが立ち上がると、「 0 を入力:」と表示されるので、「0」を入力しEnterキーを押します。

すると「ゼロが入力されました」と表示されるので、Enterキーを押すとプログラムが終了します。
今回は分岐処理なので、もう一度F5キーを押してプログラムを立ち上げます。
今度は「1」を入力してEnterキーを押します。

すると、今度は「ゼロ以外が入力されました」と表示されるので、Enterキーを押すとプログラムが終了します。
解説
このプログラムも以前出てきたものを改造したものです。
if (nNumber != 0)
{
Console.Write("ゼロ以外が入力されました");
}
else
{
Console.Write("ゼロが入力されました");
}
実行結果だけ見れば以前と変わりませんが、if文の条件式を、「==」から「!=」にすることで意味が逆になるので、表示される文字列も、上下で入れ替えています。
まとめ
if文とその条件式は、いろいろな書き方があるので、しっかり覚えておきましょう。