C#の算術演算子ガイド:加算、減算、乗算、除算、剰余の基本

目次

C#における数値計算の基本

C#で数値データを扱う際、四則演算(足し算、引き算、掛け算、割り算)は最も基本的な操作の一つです。C#では、これらの計算を行うために「算術演算子」が用意されています。

この記事では、+(加算)、-(減算)、*(乗算)、/(除算)、および %(剰余)の各演算子の使い方と、特に注意すべき点について解説します。


加算演算子 +

+演算子は、2つの数値の和(足し算)を求めます。

using System;

public class AdditionExample
{
    public static void Main()
    {
        int itemSubtotal = 4500; // 商品の小計
        int shippingFee = 550;   // 送料

        // 小計と送料を足して、総額を計算
        int totalCost = itemSubtotal + shippingFee;

        Console.WriteLine($"商品の小計: {itemSubtotal}円");
        Console.WriteLine($"送料: {shippingFee}円");
        Console.WriteLine($"支払総額: {totalCost}円");
    }
}

出力結果:

商品の小計: 4500円
送料: 550円
支払総額: 5050円

減算演算子 -

-演算子は、2つの数値の差(引き算)を求めます。

using System;

public class SubtractionExample
{
    public static void Main()
    {
        int initialPoints = 10000; // 保有ポイント
        int usedPoints = 3500;     // 使用ポイント

        // 保有ポイントから使用ポイントを引いて、残高を計算
        int remainingPoints = initialPoints - usedPoints;

        Console.WriteLine($"保有ポイント: {initialPoints}");
        Console.WriteLine($"使用ポイント: {usedPoints}");
        Console.WriteLine($"残りのポイント: {remainingPoints}");
    }
}

出力結果:

保有ポイント: 10000
使用ポイント: 3500
残りのポイント: 6500

乗算演算子 *

*演算子は、2つの数値の積(掛け算)を求めます。

using System;

public class MultiplicationExample
{
    public static void Main()
    {
        decimal unitPrice = 1980.5m; // 商品単価
        int quantity = 3;            // 数量

        // 単価と数量を掛けて、合計金額を計算
        decimal totalItemPrice = unitPrice * quantity;

        Console.WriteLine($"単価: {unitPrice:C}"); // C: 通貨形式
        Console.WriteLine($"数量: {quantity}");
        Console.WriteLine($"合計金額: {totalItemPrice:C}");
    }
}

出力結果:

単価: ¥1,980.5
数量: 3
合計金額: ¥5,941.5

除算演算子 /

/演算子は、最初の数値を2番目の数値で割った商(割り算)を求めます。除算は、計算に使用する数値の型によって結果が異なるため、特に注意が必要です。

整数同士の除算 (int / int)

int(整数)同士の除算では、結果もint(整数)となり、小数点以下の部分はすべて切り捨てられます

using System;

public class IntegerDivisionExample
{
    public static void Main()
    {
        int totalItems = 17;     // 合計アイテム数
        int itemsPerBox = 5;     // 1箱あたりのアイテム数

        // 17 ÷ 5 = 3.4 だが、整数同士の除算のため 3 となる
        int fullBoxes = totalItems / itemsPerBox;

        Console.WriteLine($"合計アイテム数: {totalItems}");
        Console.WriteLine($"1箱あたり: {itemsPerBox}");
        Console.WriteLine($"必要な箱の数 (切り捨て): {fullBoxes}");
    }
}

出力結果:

合計アイテム数: 17
1箱あたり: 5
必要な箱の数 (切り捨て): 3

浮動小数点数を含む除算

小数点以下の結果を正確に得たい場合は、doubledecimalといった浮動小数点数型を使用します。計算に含まれる数値の少なくとも一方が浮動小数点数型であれば、結果も浮動小数点数型(doubleまたはdecimal)になります。

using System;

public class DoubleDivisionExample
{
    public static void Main()
    {
        // 10.0 のように、意図的に double 型で記述
        double totalScore = 10.0;
        int count = 4;

        // double / int の計算結果は double になる
        double averageScore = totalScore / count; // 10.0 / 4 = 2.5

        Console.WriteLine($"合計スコア: {totalScore}");
        Console.WriteLine($"カウント: {count}");
        Console.WriteLine($"平均スコア: {averageScore}");
    }
}

出力結果:

合計スコア: 10
カウント: 4
平均スコア: 2.5

剰余演算子 %

%演算子は、最初の数値を2番目の数値で割ったときの**余り(剰余)**を求めます。

この演算子は、数値が偶数か奇数かを判定したり、特定の周期で何か(例: 梱包の端数)を計算したりする際に非常に便利です。

using System;

public class RemainderExample
{
    public static void Main()
    {
        int totalItems = 17;     // 合計アイテム数
        int itemsPerBox = 5;     // 1箱あたりのアイテム数

        // 17 を 5 で割った余りを計算 (17 ÷ 5 = 3 余り 2)
        int remainingItems = totalItems % itemsPerBox;

        Console.WriteLine($"合計アイテム数: {totalItems}");
        Console.WriteLine($"1箱あたり: {itemsPerBox}");
        Console.WriteLine($"箱に入らない端数 (余り): {remainingItems}");

        // 偶数・奇数の判定例
        int checkNumber = 17;
        if (checkNumber % 2 == 0)
        {
            Console.WriteLine($"{checkNumber} は偶数です。");
        }
        else
        {
            Console.WriteLine($"{checkNumber} は奇数です。");
        }
    }
}

出力結果:

合計アイテム数: 17
1箱あたり: 5
箱に入らない端数 (余り): 2
17 は奇数です。

演算子の優先順位

C#では、数学の計算ルールと同様に、演算子に優先順位があります。

  1. 高い: * (乗算), / (除算), % (剰余)
  2. 低い: + (加算), - (減算)

*/は、+-よりも先に計算されます。意図した順序で計算を行うためには、括弧 () を使用して計算の順序を明示することが推奨されます。

// 括弧がない場合 (5 * 3 が先に計算される)
int result1 = 10 + 5 * 3; // 10 + 15 = 25

// 括弧がある場合 (10 + 5 が先に計算される)
int result2 = (10 + 5) * 3; // 15 * 3 = 45

まとめ

C#の算術演算子は、数値処理の基本です。特に除算(/)が整数同士の場合は結果が切り捨てられる点と、剰余(%)が余りを求める点を理解することが重要です。また、意図しない計算順序を防ぐために、括弧 () を適切に使用することが保守性の高いコードにつながります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次