計算式を短くしよう
今回のC#プログラミング学習は、計算式を短くする方法について学んでいきます。
C#に限らず、プログラムを書いていると、ちょっとした計算をしなきゃいけない場面がちょこちょこ出てきます。
そんなとき計算式を短く書くことができれば、単純にコーディング量も減りますし、見た目的にもスマートです。
今回は、違いを分かりやすくするために、プログラム例を二種類用意しました。
プログラム例その1
一つ目のプログラム例はこちらです。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Sample { internal class Program { static void Main(string[] args) { int nNumber1 = 2; int nNumber2 = 2; int nNumber3 = 2; int nNumber4 = 2; int nNumber5 = 2; nNumber1 = nNumber1 + 2; nNumber2 = nNumber2 - 2; nNumber3 = nNumber3 * 2; nNumber4 = nNumber4 / 2; nNumber5 = nNumber5 % 2; Console.Write("2 + 2 = {0}", nNumber1); Console.ReadLine(); Console.Write("2 - 2 = {0}", nNumber2); Console.ReadLine(); Console.Write("2 * 2 = {0}", nNumber3); Console.ReadLine(); Console.Write("2 / 2 = {0} ... {1}", nNumber4, nNumber5); Console.ReadLine(); } } }
プログラム例その1をダウンロードするにはここをクリックします。
「Sample.sln」を開くとVisualStudioが立ち上がってくるので、ビルドメニューの中の「ソリューションのビルド」を選択してビルドします。
ビルドが成功したら、F5キーを押してプログラムを動かします。
Enterキーを押していくと、足し算、引き算、掛け算、割り算とその答えが一緒に表示されていきます。
割り算の式と答えが表示されたら、Enterキーを押すとプログラムが終了します。
プログラム例その2
二つ目のプログラムも見てみましょう。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Sample { internal class Program { static void Main(string[] args) { int nNumber1 = 2; int nNumber2 = 2; int nNumber3 = 2; int nNumber4 = 2; int nNumber5 = 2; nNumber1 += 2; nNumber2 -= 2; nNumber3 *= 2; nNumber4 /= 2; nNumber5 %= 2; Console.Write("2 + 2 = {0}", nNumber1); Console.ReadLine(); Console.Write("2 - 2 = {0}", nNumber2); Console.ReadLine(); Console.Write("2 * 2 = {0}", nNumber3); Console.ReadLine(); Console.Write("2 / 2 = {0} ... {1}", nNumber4, nNumber5); Console.ReadLine(); } } }
プログラム例その2をダウンロードするにはここをクリックします。
同じように、「Sample.sln」を開くとVisualStudioが立ち上がってくるので、ビルドメニューの中の「ソリューションのビルド」を選択してビルドします。
ビルドが成功したら、F5キーを押してプログラムを動かします。
こちらも同じように、Enterキーを押していくと四則演算と、その答えが表示されていきます。
割り算の式と答えが最後なので、Enterキーを押してプログラムを終了させます。
プログラム解説
今回は、プログラム例その1と、プログラム例その2を見比べていただければ、もう何も言うことはないと思います。
両方とも実行結果は同じで、コーディング部分が違っているだけなので、まずは違っているところを探してみましょう。
すると、計算をしている部分が大きく違っていることに気づくと思います。
プログラム例その1では以下のようになっています。
nNumber1 = nNumber1 + 2; nNumber2 = nNumber2 - 2; nNumber3 = nNumber3 * 2; nNumber4 = nNumber4 / 2; nNumber5 = nNumber5 % 2;
これに対して、プログラム例その2では以下のようになっています。
nNumber1 += 2; nNumber2 -= 2; nNumber3 *= 2; nNumber4 /= 2; nNumber5 %= 2;
今までは式に使う変数と、答えを入れる変数が別々だったので、このような書き方はできませんでした。
でも、プログラムを書いていると、「このタイミングでこの変数に加算しておきたいんだよねー」ということが起こってきます。
そんな時は今回のように、「足す」や「引く」といった算術演算子の後に、イコールを書きます。
すると左側の変数の値を、増やしたり減らしたりしてくれます。
計算部分は以上です。
それと、今までと違うという意味では、「int nNumber1 = 2;」のように、変数の宣言と初期化を同時にやっているので、この書き方も覚えておきましょう。