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文とその条件式は、いろいろな書き方があるので、しっかり覚えておきましょう。