Arithmetic Operator ในภาษา C#

Arithmetic Operator ในภาษา C#
Arithmetic Operator (ตัวดำเนินการทางคณิตศาสตร์) คือเครื่องหมายที่ใช้สำหรับคำนวณค่าทางคณิตศาสตร์ในภาษา C# เช่น การบวก (+), ลบ (-), คูณ (*), หาร (/) และหาค่าเศษ (%)

ตัวดำเนินการเหล่านี้สามารถใช้ได้กับชนิดข้อมูลตัวเลขทุกประเภท เช่น int, float, double, decimal และยังสามารถใช้กับตัวแปรที่เก็บค่าตัวเลขเพื่อทำการคำนวณได้โดยตรง

การเข้าใจและใช้งาน Arithmetic Operator อย่างถูกต้อง เป็นพื้นฐานสำคัญของการเขียนโปรแกรม เพราะแทบทุกโปรแกรมล้วนมีการคำนวณตัวเลขในบางรูปแบบ เช่น การคิดราคา การคำนวณคะแนนเฉลี่ย หรือการวิเคราะห์ข้อมูล

ประเภทของ Arithmetic Operator ในภาษา C#

ภาษา C# มีตัวดำเนินการทางคณิตศาสตร์หลัก ๆ อยู่ 5 ตัว ดังนี้

ตัวดำเนินการความหมายตัวอย่างการใช้งานผลลัพธ์
+บวก (Addition)5 + 38
-ลบ (Subtraction)10 - 64
*คูณ (Multiplication)4 * 28
/หาร (Division)8 / 24
%หาค่าเศษจากการหาร (Modulus)7 % 31

แต่ละตัวสามารถใช้กับค่าคงที่ (constant), ตัวแปร (variable) หรือแม้แต่ผลลัพธ์จากการคำนวณอื่น ๆ ได้

การใช้ตัวดำเนินการ “บวก” (+)

ตัวดำเนินการ + ใช้สำหรับการบวกตัวเลข หรือรวมข้อความ (concatenation) เมื่อใช้กับชนิดข้อมูล string

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int a = 10;
            int b = 20;
            int sum = a + b;
            Console.WriteLine($"ผลบวกของ {a} + {b} = {sum}");
        }
    }
}
  • int a = 10, b = 20; ประกาศตัวแปรสองตัวสำหรับเก็บค่าจำนวนเต็ม
  • a + b ทำการบวกค่าในตัวแปรทั้งสอง
  • แสดงผลด้วย Console.WriteLine() โดยใช้การแทรกค่าในสตริง

หากใช้ + กับข้อความ เช่น "Hello" + "World" จะได้ผลเป็น "HelloWorld"

การใช้ตัวดำเนินการ “ลบ” (-)

ใช้สำหรับลบค่าตัวเลข หรือใช้เปลี่ยนเครื่องหมายของค่าตัวเลข (เช่น จากบวกเป็นลบ)

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int x = 15;
            int y = 5;
            int result = x - y;
            Console.WriteLine($"ผลลบของ {x} - {y} = {result}");
        }
    }
}
  • ใช้เครื่องหมาย - เพื่อลบค่าในตัวแปร x และ y
  • แสดงผลลัพธ์ทางหน้าจอ

การใช้ตัวดำเนินการ “คูณ” (*)

ใช้สำหรับคูณค่าตัวเลขสองค่าเข้าด้วยกัน เช่น การคำนวณพื้นที่หรือราคาสินค้ารวม

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int quantity = 5;
            double price = 19.5;
            double total = quantity * price;
            Console.WriteLine($"ราคารวมคือ: {total} บาท");
        }
    }
}
  • quantity คือจำนวนสินค้า
  • price คือราคาต่อชิ้น
  • quantity * price คำนวณราคารวม
  • แสดงผลรวมออกทางหน้าจอ

การใช้ตัวดำเนินการ “หาร” (/)

ใช้สำหรับหารค่าตัวเลข แต่ต้องระวังเรื่องชนิดข้อมูล หากทั้งสองค่าเป็น int ผลลัพธ์จะเป็นจำนวนเต็ม (ปัดเศษทิ้ง)

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int a = 7;
            int b = 2;
            double result = (double)a / b;
            Console.WriteLine($"ผลหารของ {a} ÷ {b} = {result}");
        }
    }
}
  • (double)a / b แปลงค่าตัวแรกเป็น double เพื่อให้ได้ผลลัพธ์ทศนิยม
  • ใช้ Console.WriteLine() แสดงผลลัพธ์

หากใช้ int ทั้งคู่ เช่น 7 / 2 จะได้ผลลัพธ์เป็น 3 เพราะระบบจะปัดเศษส่วนทิ้ง

การใช้ตัวดำเนินการ “หาค่าเศษ” (%)

ตัวดำเนินการ % ใช้สำหรับหาค่า “เศษจากการหาร” (modulus) มักใช้ในกรณีที่ต้องการตรวจสอบจำนวนคู่/คี่ หรือการวนรอบในลูป

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number = 10;
            if (number % 2 == 0)
            {
                Console.WriteLine($"{number} เป็นเลขคู่");
            }
            else
            {
                Console.WriteLine($"{number} เป็นเลขคี่");
            }
        }
    }
}
  • number % 2 หาค่าเศษจากการหารด้วย 2
  • ถ้าเศษเป็น 0 หมายถึงเป็นเลขคู่
  • ถ้ามีเศษ หมายถึงเป็นเลขคี่

การรวมหลายตัวดำเนินการในสมการเดียว

สามารถใช้ Arithmetic Operator หลายตัวในบรรทัดเดียวได้ โดยจะคำนวณตามลำดับความสำคัญ (Operator Precedence) เช่นเดียวกับคณิตศาสตร์ทั่วไป

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int result = 10 + 2 * 5 - 3;
            Console.WriteLine($"ผลลัพธ์ = {result}");
        }
    }
}
  • C# จะคำนวณการคูณ (*) ก่อนการบวกและลบ
  • ดังนั้น 10 + 2 * 5 - 3 = 10 + 10 - 3 = 17

ผลลัพธ์ = 17

หากต้องการเปลี่ยนลำดับการคำนวณ ให้ใช้วงเล็บ เช่น (10 + 2) * 5 - 3

ลำดับความสำคัญของ Arithmetic Operator

ภาษา C# มีลำดับการคำนวณ (Precedence) คล้ายกับคณิตศาสตร์ดังนี้

ลำดับตัวดำเนินการความหมาย
1*, /, %คูณ, หาร, หาค่าเศษ
2+, -บวก, ลบ
3()ใช้ควบคุมลำดับคำนวณ

ตัวดำเนินการที่อยู่ในวงเล็บจะถูกคำนวณก่อนเสมอ

ตัวอย่าง

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("กรุณาป้อนจำนวนสินค้า: ");
            int quantity = Convert.ToInt32(Console.ReadLine());

            Console.Write("กรุณาป้อนราคาต่อชิ้น: ");
            double price = Convert.ToDouble(Console.ReadLine());

            double total = quantity * price;
            Console.WriteLine($"ยอดรวมทั้งหมด: {total} บาท");
        }
    }
}
  • รับข้อมูลจากผู้ใช้ 2 ค่า : จำนวนสินค้าและราคาต่อชิ้น
  • ใช้ตัวดำเนินการ * เพื่อคำนวณราคารวม
  • แสดงผลออกทาง Console

ข้อควรระวังในการใช้ Arithmetic Operator

  1. การหารด้วยศูนย์ (/ 0) จะทำให้เกิดข้อผิดพลาด (DivideByZeroException)
  2. การใช้ int ทั้งคู่ในการหาร จะทำให้ผลลัพธ์เป็นจำนวนเต็มเท่านั้น (เศษจะหายไป)
  3. การคำนวณเกินขอบเขตของตัวแปร (Overflow) เช่น ค่ามากเกินขีดจำกัดของ int อาจทำให้ผลลัพธ์ผิดพลาด
แชร์เรื่องนี้