基礎編/演算子(operator)

Last-modified: 2020-05-25 (月) 23:52:21

書きかけ
数字の計算はどうすればよいのでしょうか。

C#では+、-、などの記号を演算子(operator)といいます。
この演算子で計算されるものを被演算子(operand)といいます。

以下の式ではx,yが被演算子、+が演算子です。

x + y

コード例

using System;
class prog
{
 static void Main()
 {
  int   x =     5;
  int   y =    10;
  int   z = x + y;
  Console.WriteLine(z.ToString());
  //int型変数の後に「.ToString()」をつけると、string型に変換します。
 }
}

演算子の種類

算術演算子(Arithmetic operator)

足す、引く、かける、割るなどの基本的な計算を行う演算子を「算術演算子(Arithmetic operator)」といいます。
以下が算術演算子です。

演算子使用例動作
+x+yxとyを足す
=x-yxからyを引く
*x*yxとyをかける
/x/yxをyで割る
%x%yxをyで割った余り

コード例

using System;
class prog
{
 static void Main()
 {
  int   x =    10;
  int   y =     5;
  int   z = x + y;
  Console.WriteLine(z.ToString());  //結果:15
        z = x - y;
  Console.WriteLine(z.ToString());  //結果:5
        z = x * y;
  Console.WriteLine(z.ToString());  //結果:50
        z = x / y;
  Console.WriteLine(z.ToString());  //結果:2
        z = x % y;
  Console.WriteLine(z.ToString());  //結果:0
 }
}

「+演算子」は文字列を連結するためにも使えます

Console.WriteLine("こんにちは" + "おはよう");

代入演算子(Assignment operator)

数学では「=(イコール)」は左辺と右辺の両辺が等しいことを意味していますが、プログラミングにおいては
右辺の値を左辺に代入するという動きをします。
この「=(イコール)」の事を「代入演算子(Assignment operator)」と言います。

x = y;       //xにyを代入する
x = y = z;   //yにzを代入し、xにyを代入する。

インクリメント(increment)・デクリメント(decrement)演算子

次のような計算をしたい時には、インクリメント(increment)演算子・デクリメント(decrement)演算子が使えます。

int x = 1;
int y = 5;
    x = x + 1;
    y = y - 1;

これにインクリメント演算子・デクリメント演算子を使うと以下のように記載できます。

int x = 1;
int y = 5;
    x++;
    y--;

加算代入演算子(addition assignment operator)

以下のような演算子「+=」を「加算代入演算子(addition assignment operator)」と言います。

x += y; // 「x = x + y」と同じ

減算代入演算子(Subtraction assignment operator)

以下のような演算子「-=」を「減算代入演算子(Subtraction assignment operator)」と言います。

x -= y; // 「x = x - y」と同じ

等値演算子(Equality operator)

二つのオペランドを比較し、それが同じ値であるかを判断する演算子を「等値演算子(Equality operator)」と言います。
両オペランドが等しい場合にtrueを返し、それ以外の場合はfalseを返します。

int a = 1;
int b = 2;
Console.WriteLine(a==b)
//コンソールにはFalseが表示される。

比較演算子(Comparison operator)

二つのオペランドを比較し、その比較条件が正か偽かを判断する演算子を「比較演算子(Comparison operator)」と言います。
記述した比較条件が正しい場合はtrueを、偽の場合はfalseを返します。

<小なり演算子
>大なり演算子
<=以下演算子
>=以上演算子

※「=(イコール)」は右側に書く事を覚えておきましょう。

Console.WriteLine(8 < 2);  //コンソールには「False」が表示されます。
Console.WriteLine(8 > 2);  //コンソールには「True」が表示されます。
Console.WriteLine(8 <= 2); //コンソールには「False」が表示されます。
Console.WriteLine(5 >= 5); //コンソールには「True」が表示されます。

※数学の不等号を調べると理解が深まるかもしれません。

論理演算子(Logical operator)

ブール型の値に対して作用する演算子を「論理演算子(Logical operator)」と言います。

論理否定演算子(logical negation operator)

頭に「!(エクスクラメーションマーク)」をつけると、論理否定できます。trueがfalseに、falseがtrueに。要は逆になります。

bool live = false;
Console.WriteLine(!live);  //コンソールには「True」が表示される。
Console.WriteLine(!true);  //コンソールには「false」が表示される。

※数学の集合と論理を調べると理解が深まるかもしれません。

ビット処理シフト演算子

new演算子

  • 型の新しいインスタンスを作成する。
  • メンバーの宣言修飾子、またはジェネリック型製薬として使用することもできる。

まとめ