Arithmetic Operator ในภาษา C#
Arithmetic Operator (ตัวดำเนินการทางคณิตศาสตร์) คือเครื่องหมายที่ใช้สำหรับคำนวณค่าทางคณิตศาสตร์ในภาษา C# เช่น การบวก (+), ลบ (-), คูณ (*), หาร (/) และหาค่าเศษ (%)
ตัวดำเนินการเหล่านี้สามารถใช้ได้กับชนิดข้อมูลตัวเลขทุกประเภท เช่น int, float, double, decimal และยังสามารถใช้กับตัวแปรที่เก็บค่าตัวเลขเพื่อทำการคำนวณได้โดยตรง
การเข้าใจและใช้งาน Arithmetic Operator อย่างถูกต้อง เป็นพื้นฐานสำคัญของการเขียนโปรแกรม เพราะแทบทุกโปรแกรมล้วนมีการคำนวณตัวเลขในบางรูปแบบ เช่น การคิดราคา การคำนวณคะแนนเฉลี่ย หรือการวิเคราะห์ข้อมูล
ประเภทของ Arithmetic Operator ในภาษา C#
ภาษา C# มีตัวดำเนินการทางคณิตศาสตร์หลัก ๆ อยู่ 5 ตัว ดังนี้
| ตัวดำเนินการ | ความหมาย | ตัวอย่างการใช้งาน | ผลลัพธ์ |
|---|---|---|---|
+ | บวก (Addition) | 5 + 3 | 8 |
- | ลบ (Subtraction) | 10 - 6 | 4 |
* | คูณ (Multiplication) | 4 * 2 | 8 |
/ | หาร (Division) | 8 / 2 | 4 |
% | หาค่าเศษจากการหาร (Modulus) | 7 % 3 | 1 |
แต่ละตัวสามารถใช้กับค่าคงที่ (constant), ตัวแปร (variable) หรือแม้แต่ผลลัพธ์จากการคำนวณอื่น ๆ ได้
การใช้ตัวดำเนินการ “บวก” (+)
ตัวดำเนินการ + ใช้สำหรับการบวกตัวเลข หรือรวมข้อความ (concatenation) เมื่อใช้กับชนิดข้อมูล string
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"
การใช้ตัวดำเนินการ “ลบ” (-)
ใช้สำหรับลบค่าตัวเลข หรือใช้เปลี่ยนเครื่องหมายของค่าตัวเลข (เช่น จากบวกเป็นลบ)
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 - แสดงผลลัพธ์ทางหน้าจอ
การใช้ตัวดำเนินการ “คูณ” (*)
ใช้สำหรับคูณค่าตัวเลขสองค่าเข้าด้วยกัน เช่น การคำนวณพื้นที่หรือราคาสินค้ารวม
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 ผลลัพธ์จะเป็นจำนวนเต็ม (ปัดเศษทิ้ง)
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) มักใช้ในกรณีที่ต้องการตรวจสอบจำนวนคู่/คี่ หรือการวนรอบในลูป
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) เช่นเดียวกับคณิตศาสตร์ทั่วไป
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 | () | ใช้ควบคุมลำดับคำนวณ |
ตัวดำเนินการที่อยู่ในวงเล็บจะถูกคำนวณก่อนเสมอ
ตัวอย่าง
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
- การหารด้วยศูนย์ (
/ 0) จะทำให้เกิดข้อผิดพลาด (DivideByZeroException) - การใช้ int ทั้งคู่ในการหาร จะทำให้ผลลัพธ์เป็นจำนวนเต็มเท่านั้น (เศษจะหายไป)
- การคำนวณเกินขอบเขตของตัวแปร (Overflow) เช่น ค่ามากเกินขีดจำกัดของ
intอาจทำให้ผลลัพธ์ผิดพลาด
