C#入門④ 計算する ── 演算子のはなし

前回は「データ型(箱の種類)」の話をしました。整数を入れる int の箱も覚えましたね。

今回は、その数を使って計算します。計算に使う記号を演算子(えんざんし)と呼びます。

演算子とは、計算やくらべごとをするための記号です。

まずは、四則演算

足し算・引き算・かけ算・わり算。小学校で習ったあれです。C#でもできます。

int a = 10;
int b = 3;

Console.WriteLine(a + b);   // 13(足し算)
Console.WriteLine(a - b);   // 7 (引き算)
Console.WriteLine(a * b);   // 30(かけ算)
Console.WriteLine(a / b);   // 3 (わり算)

ほとんど見たままですが、2つだけ注意があります。

  • *かけ算は × ではなく ``**(アスタリスク)
  • わり算は ÷ ではなく /(スラッシュ)

キーボードに ×÷ がないので、代わりの記号を使う、と覚えてください。

わり算の、ちょっと不思議なところ

上の例、わり算の 10 / 3 の結果が 3 になっています。

「3.33... じゃないの?」と思いますよね。これ、初心者が必ず引っかかるポイントです。

理由は、整数(int)どうしの計算は、結果も整数になるからです。小数点以下は、バッサリ切り捨てられます。

int a = 10;
int b = 3;
Console.WriteLine(a / b);   // 3(3.33...の小数部分は捨てられる)

「割った余り」を知りたいときは、% という記号を使います。

Console.WriteLine(10 % 3);   // 1(10を3で割った余り)

この %(余りを出す演算子)は、地味ですが、後で「偶数か奇数か」を判定するときなどに大活躍します。覚えておいてください。

くらべる演算子

演算子には、計算だけでなく「くらべる」ものもあります。

int a = 10;
int b = 3;

Console.WriteLine(a > b);    // True (aはbより大きい?)
Console.WriteLine(a < b);    // False(aはbより小さい?)
Console.WriteLine(a == b);   // False(aとbは等しい?)

くらべた結果は、前回出てきた bool(true か false) で返ってきます。

「10 は 3 より大きい?」→ はい(True)。
「10 と 3 は等しい?」→ いいえ(False)。

このくらべる演算子は、次回の if文(条件分岐) で、これでもかというほど使います。今回は「こういう記号があるんだ」と知っておけば十分です。

つまずきポイント

初心者が100%間違えるのが、「等しい」は ==(イコール2つ)ということです。

a == b   // 「aとbは等しい?」と、くらべている(正しい)
a = b    // 「aにbを入れる」という意味になってしまう!

イコール1つ(=)は、第2回でやった「箱に入れる」の意味でした。
「等しいか、くらべたい」ときは、イコールを2つ(==重ねます。

これは、慣れるまで本当によく間違えます。「くらべるときはイコール2つ」と、口に出して覚えてしまいましょう。

まとめ

計算は + - * /、余りは %
くらべるのは > < ==、結果は bool で返る。
そして、等しいかは ==(イコール2つ)

次回はいよいよ、プログラムらしくなる第一歩。条件によって動きを変える if文 です。