if文の使い方その2
今回のC#プログラミング学習は、前回の続きで、分岐処理のif文を学んでいきます。
プログラム例
まずは今回学んでいくC#プログラム例を見てください。
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キーを押してプログラムを立ち上げます。
ちなみにこの時点で、何も入力しないでEnterキーを押した場合は、例外処理が発生してしまうので、必ず何らかの数値を入力します。
今度は「5」を入力してEnterキーを押します。
すると、今度は「ゼロ以外が入力されました」と表示されるので、Enterキーを押すとプログラムが終了します。
プログラム解説
上記のプログラム例について解説します。
数値の入力
まずは、ゼロの入力を促すメッセージを表示し、ユーザーが入力した数値を受け取ります。
Console.Write(" 0 を入力:"); int nNumber = int.Parse( Console.ReadLine() );
ユーザーからの入力は、以前学習したように「Console.ReadLine」で行いますが、今回は、入力された文字を数値として扱っていきたいので、「int.Parse」のカッコに入れて使っています。
「int.Parse( Console.ReadLine() )」とすることで、int型の変数で数値を受け取ることができます。
入力値の判断
次に、入力された値をif文で判断し、その後の処理を分けます。
今回学習するif文のパターンは以下のような感じです。
if ( 条件式 ) { 条件が成立したときに行われる処理 } else { 条件が成立しなかったときに行われる処理 }
もし、カッコ内の条件式を満たしていた場合は、その後に続く「{」から「}」に囲まれている部分が実行されます。
そうでない場合は、elseの後の「{」から「}」に囲まれている部分が実行されます。
今回のプログラム例では、以下の部分ですね。
if (nNumber == 0) { Console.Write("ゼロが入力されました"); } else { Console.Write("ゼロ以外が入力されました"); } Console.ReadLine();
if文で変数nNumberを評価します。
条件式は「nNumber == 0」です。
この条件式は、変数nNumber内の数値がゼロかどうかを調べるものです。
「==」というのは、「==」の左辺と右辺が等しかったら成立という意味があります。
なので、ユーザーが「0」を入力した場合は、変数nNumberの値も「0」になるので、条件式が成立し、「Console.Write("ゼロが入力されました")」が実行されます。
しかし、「0」以外の数値を入力してしまった場合は、if文が成立せず、前回のプログラム例では、何も表示されませんでした。
今回はその部分を、else以降がカバーしています。
if文が成立しなかったら、elseに続く「{」から「}」に囲まれている部分が実行されるので、0以外の数値が入力された場合は、「Console.Write("ゼロ以外が入力されました")」が実行されます。
そして、if文が成立してもしなくても、「Console.ReadLine」は実行されるので、プログラムが最後に一時停止されるという感じです。
まとめ
少しずつif文らしくなってきました。