0
ข้อมูล ตัวแปร และตัวดำเนินการ
Posted by kru.fern
on
00:31
ข้อมูล ตัวแปร และตัวดำเนินการ
จากตัวอย่างที่นักเรียนได้ฝึกเขียนโปรแกรมนั้น
มีการใช้ข้อมูลในหลายรูปแบบ โดยที่ข้อมูลสามารถนำมาใช้คำนวณ และประมวลผล
ซึ่งอยู่ในรูปของตัวแปรเพื่อเก็บค่าข้อมูล สามารถอธิบายได้ดังนี้
ชนิดข้อมูล (Data
Types)
-
Numeric ข้อมูลที่มีค่าเป็นตัวเลข
ทั้งจำนวนเต็ม และทศนิยม
-
String ข้อมูลที่เป็นอักขระ
และข้อความ
-
DateTime ข้อมูลในรูปแบบวันเดือนปี
เวลา
-
Boolean ข้อมูลที่มีค่าเป็นจริง
(True) หรือเป็นเท็จ (False)
ข้อมูลชนิดจำนวนเต็ม
ชนิดข้อมูล
|
หน่วยความจำ (byte)
|
ขอบเขตข้อมูล
|
byte
|
1
|
0 ถึง
255
|
sbyte
|
1
|
-128 ถึง
127
|
short
|
2
|
-32,768 ถึง
32,767
|
ushort
|
2
|
0 ถึง 65,535
|
int
|
4
|
-2,147,483,648
ถึง 2,147,483,647
|
unit
|
4
|
0 ถึง
4,294,967,295
|
long
|
8
|
-9,223,372,036,854,755,808
ถึง 9,223,372,036,854,755,807
|
ulong
|
8
|
0 ถึง
18,446,744,073,709,551,615
|
เมื่อต้องการระบุชนิดข้อมูลให้ชัดเจน
สามารถเติมตัวอักษรต่อท้ายจำนวนเต็ม เพื่อให้คอมไพเลอร์สามารถจัดการกับชนิดข้อมูลได้ถูกต้องตรงตามความต้องการ
เช่น
-
Unit เติมตัวอักษร
U ต่อท้าย ตัวอย่าง
12,345U เป็นต้น
-
long เติมตัวอักษร
L ต่อท้าย ตัวอย่าง
12,345L เป็นต้น
-
ulong เติมตัวอักษร
UL ต่อท้าย ตัวอย่าง 12,345UL เป็นต้น
ข้อมูลชนิดจำนวนทศนิยม
ชนิดข้อมูล
|
หน่วยความจำ (byte)
|
ขอบเขตข้อมูล
|
float
|
4
|
-3.402823 X 1038 ถึง 3.402823 X 1038
|
double
|
8
|
-1.79769313486232 X 10308
ถึง 1.79769313486232 X 10308
|
เมื่อต้องการอ้างอิงการใช้ 10 ยกกำลัง
สามารถเขียนในเชิงวิทยาศาสตร์ที่ใช้ตัว “E” หรือ “e”
แทนได้ ตัวอย่าง
-
1.23E+4
หรือ 1.23e+4 หมายถึง 1.23
X 104 หรือเท่ากับ
12,300
-
1.23E-2 หรือ 1.23e-2 หมายถึง 1.23 X 10-2 หรือเท่ากับ 0.0123
ข้อมูลชนิดตัวเลข decimal
- มีหน่วยความจำขนาด 16 ไบต์ (byte)
- เก็บค่าจำนวนเต็มได้ระหว่าง -79,228,162,514,264,337,593,543,950,335 ถึง
79,228,162,514,264,337,593,543,950,335
และเก็บค่าทศนิยมได้ระหว่าง -7.9228162514264337593543950335 ถึง
7.9228162514264337593543950335
ซึ่งเก็บค่าทศนิยมได้ 28 ตำแหน่ง
- มีหน่วยความจำขนาด 16 ไบต์ (byte)
- เก็บค่าจำนวนเต็มได้ระหว่าง -79,228,162,514,264,337,593,543,950,335 ถึง
79,228,162,514,264,337,593,543,950,335
และเก็บค่าทศนิยมได้ระหว่าง -7.9228162514264337593543950335 ถึง
7.9228162514264337593543950335
ซึ่งเก็บค่าทศนิยมได้ 28 ตำแหน่ง
ข้อมูลชนิดตรรกะ
ข้อมูลชนิดตรรกะ หรือ bool
ใช้เก็บข้อมูลด้านตรรกศาสตร์ คือ ค่าจริง (True) และค่าเท็จ (False)
ข้อมูลชนิดตัวอักษรและข้อความ
ชนิดข้อมูล
|
หน่วยความจำ (byte)
|
ขอบเขตข้อมูล
|
char
|
2
|
ตัวอักษรหนึ่งตัว
เก็บแบบ Unicode
ใช้เครื่องหมาย Single
Quote ครอบตัวอักษร
ตัวอย่าง ‘O’
‘K’
|
string
|
ตามความยาวข้อความ
|
ข้อความ ตั้งแต่
0 ถึง 231 (ประมาณสองพันล้านตัวอักษร)
ใช้เครื่องหมาย Double
Quote ครอบข้อความ
ตัวอย่าง “My
game by Visual C#” “ยินดีต้อนรับสู่เกมของเรา”
|
ข้อมูลชนิดวันเวลา
ชนิดข้อมูล
|
หน่วยความจำ (byte)
|
ขอบเขตข้อมูล
|
Date
|
8
|
วันเวลา ตั้งแต่
00:00:00 ของวันที่ 1 มกราคม ค.ศ.0
ถึง 23:59:59
ของวันที่ 31 ธันวาคม ค.ศ.9999
|
ตัวแปร (Variable)
ตัวแปร
(Variable) เป็นการอ้างถึงข้อมูล ด้วยค่าของตัวแปร
สามารถเปลี่ยนแปลงได้ตลอดเวลาที่โปรแกรมทำงาน ทั้งนี้ตัวแปรทุกตัวต้องถูกประกาศ
ก่อนนำมาใช้ และต้องระบุชนิดข้อมูลที่จะใช้กับตัวแปร
หลักการตั้งชื่อตัวแปร
- ต้องขึ้นต้นชื่อด้วยตัวอักษรเท่านั้น
- ตัวอักษรพิมพ์เล็กพิมพ์ใหญ่
แตกต่างกัน (Case Sensitive)
- ควรตั้งชื่อให้สื่อความหมายและสามารถบอกชนิดของตัวแปรได้ด้วย
เช่น intAge
- ตัวอักษรแรกของคำต่อไปใช้ตัวอักษรพิมพ์ใหญ่ เช่น
strFirstName
- ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved
Word)
คำสงวน
abstract as base bool break byte
case catch char checked class const
continue decimal default delegate do double
else enum event explicit extern false
finally fixed float for foreach get
goto if implicit in int interface
internal is lock long namespace new
null object operator out override params
partial private protected public readonly ref
return sbyte sealed set short sizeof
stackalloc static string struct switch this
throw true try typeof uint ulong
unchecked unsafe ushort using value virtual
void volatile where while yield
การประกาศตัวแปร
ในภาษา
Visual C# มีรูปแบบการประกาศตัวแปร ดังนี้
TypeOfVariable Variable_Name [= initialize_value];
โดย TypeOfVariable คือ ชนิดข้อมูล ซึ่งต้องกำหนดทุกครั้ง
Variable_Name คือ ชื่อตัวแปร ซึ่งต้องกำหนดทุกครั้ง
initialize_value คือ ค่าที่กำหนดให้ตัวแปร
กำหนดหรือไม่กำหนดก็ได้
ตัวดำเนินการมีหน้าที่ในการคำนวณหรือหาผลลัพธ์ที่เกิดจากการกระทำ
ซึ่งแบ่งตามข้อมูลที่มีตัวดำเนินการคั่นกลาง (Operand) ได้ 3 ประเภท
ได้แก่
1. Unary Operator เป็นตัวดำเนินการที่ใช้ Operand เพียงตัวเดียว
2. Binary Operator เป็นตัวดำเนินการที่ใช้ Operand
สองตัว ซึ่งเป็นรูปแบบที่พบมากที่สุด
3. Ternary
Operator เป็นตัวดำเนินการที่ใช้
Operand สามตัว
และแบ่งตัวดำเนินการตามรูปแบบการใช้งาน ได้ดังนี้
1. ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic
Operator) ได้แก่
ตัวดำเนินการ
|
คำอธิบาย
|
ตัวอย่างการนำไปใช้ เมื่อ a = 5, b = 3
|
ผลลัพธ์ที่ได้
|
+
|
บวก
|
a
+ b
|
8
|
-
|
ลบ
|
a
– b
|
2
|
*
|
คูณ
|
a
* b
|
15
|
/
|
หาร
|
a
/ b
|
1.67
|
%
|
หาเศษจากการหาร
|
a
% b
|
2
|
จากผลลัพธ์ที่ได้ สรุปหลักการทำงานของตัวดำเนินการทางคณิตศาสตร์
ดังนี้
a
+ b แทนค่า 5 + 3 ผลลัพธ์คือ
8
a – b แทนค่า 5 - 3 ผลลัพธ์คือ 2
a
* b แทนค่า 5 * 3 ผลลัพธ์คือ 15
a / b แทนค่า 5 / 3 ผลลัพธ์คือ 1.67
a % b แทนค่า 5 / 3 ผลลัพธ์ 2 (เศษที่ได้จากการหาร)
ถ้ามีการใช้ตัวดำเนินการทางคณิตศาสตร์มากกว่าหนึ่งตัว
จะเรียงลำดับการดำเนินการ ดังนี้
ลำดับแรก คือ ( ) ลำดับที่สอง คือ *
/ % และลำดับสุดท้าย คือ +
และ -
2. ตัวดำเนินการเปรียบเทียบ
(Comparison Operator) ผลลัพธ์ที่ได้จะเป็น True หรือ False
ตัวดำเนินการ
|
คำอธิบาย
|
ตัวอย่างการนำไปใช้ เมื่อ a = 5, b = 3
|
ผลลัพธ์ที่ได้
|
=
=
|
เท่ากับ
|
a
= = b
|
False
|
!
=
|
ไม่เท่ากับ
|
a
! = b
|
True
|
<
|
น้อยกว่า
|
a
< b
|
False
|
<
=
|
น้อยกว่า หรือเท่ากับ
|
a
< = b
|
False
|
>
|
มากกว่า
|
a
> b
|
True
|
>
=
|
มากกว่า หรือเท่ากับ
|
a
> = b
|
True
|
จากผลลัพธ์ที่ได้
สรุปหลักการทำงานของตัวดำเนินการเปรียบเทียบ ดังนี้
a = = b ทำการเปรียบเทียบผลลัพธ์จะเป็นจริงเมื่อ a เท่ากับ b
a ! = b ทำการเปรียบเทียบผลลัพธ์จะเป็นจริงเมื่อ a ไม่เท่ากับ b
a < b ทำการเปรียบเทียบผลลัพธ์จะเป็นจริงเมื่อ a น้อยกว่า b
a < = b ทำการเปรียบเทียบผลลัพธ์จะเป็นจริงเมื่อ a น้อยกว่าหรือเท่ากับ b
a > b ทำการเปรียบเทียบผลลัพธ์จะเป็นจริงเมื่อ a มากกว่า b
a > = b ทำการเปรียบเทียบผลลัพธ์จะเป็นจริงเมื่อ a มากกว่าหรือเท่ากับ b
3. ตัวดำเนินการทางตรรกศาสตร์
(Logical Operator) ผลลัพธ์ที่ได้จะเป็น True หรือ false เท่านั้น
ตัวดำเนินการ
|
คำอธิบาย
|
ตัวอย่างการนำไปใช้
เมื่อ a = True, b = False
|
ผลลัพธ์ที่ได้
|
!
|
นิเสธ (Negation)
|
!a
|
False
|
&&
|
และ (And)
|
a
&& b
|
False
|
|
|
|
หรือ (Or)
|
a
| | b
|
True
|
^
|
Exclusive
Or
|
a
^ b
|
True
|
จากผลลัพธ์ที่ได้
สรุปหลักการทำงานของตัวดำเนินการทางตรรกศาสตร์ ดังนี้
!a ผลลัพธ์ คือ นิเสธของ a
ซึ่งมีค่าความจริงตรงข้ามกับ a เมื่อ a เป็น True ผลลัพธ์จึงเป็น False
ซึ่งมีค่าความจริงตรงข้ามกับ a เมื่อ a เป็น True ผลลัพธ์จึงเป็น False
a && b ผลลัพธ์จะเป็นจริง เมื่อ a
และ b ต่างเป็นจริง
a | | b ผลลัพธ์จะเป็นจริง เมื่อ a หรือ
b เป็นจริง
a ^ b ผลลัพธ์จะเป็นจริง เมื่อ a
กับ b มีค่าความจริงต่างกัน
4.
ตัวดำเนินการเพิ่มค่า และลดค่า ดังนี้
ตัวดำเนินการเพิ่มค่าขึ้น 1 ค่า คือ +
+ ตัวอย่าง a + + หมายถึง
a = a + 1
ตัวดำเนินการลดค่าลง 1 ค่า
คือ - - ตัวอย่าง
a - - หมายถึง a
= a -
1
ทั้งนี้การวางตำแหน่งของตัวดำเนินการมีความหมายต่างกัน
ถ้านำตัวดำเนินการไว้ด้านหน้า
เรียกว่า Prefix
แต่ถ้านำตัวดำเนินการไว้ด้านหลัง
เรียกว่า Postfix ตัวอย่างเมื่อ b = 10
a = b +
+ เป็นการกำหนดค่าให้ตัวแปร a ก่อนเพิ่มค่าให้ตัวแปร b
จะได้ a = b แล้วจึง b = b + 1
ผลลัพธ์ของ a คือ 10
ผลลัพธ์ของ b คือ 11
a
= + + b เป็นการเพิ่มค่าให้ตัวแปร b
ก่อนการกำหนดค่าให้ตัวแปร a
จะได้ b = b + 1 แล้วจึง a = b
ผลลัพธ์ของ a คือ 11
ผลลัพธ์ของ b คือ 11
a = b - - เป็นการกำหนดค่าให้ตัวแปร a ก่อนลดค่าให้ตัวแปร b
จะได้ a = b แล้วจึง b = b – 1
ผลลัพธ์ของ a คือ 10
ผลลัพธ์ของ b คือ 9
a
= - - b เป็นการลดค่าให้ตัวแปร b
ก่อนการกำหนดค่าให้ตัวแปร a
จะได้ b = b - 1 แล้วจึง
a = b
ผลลัพธ์ของ a คือ
9
ผลลัพธ์ของ b คือ 9
5.
ตัวดำเนินการกำหนดค่า เมื่อ a = 5 และ b
= 3 ดังนี้
ตัวดำเนินการ
|
คำอธิบาย
|
ตัวอย่างการนำไปใช้
|
ผลลัพธ์ที่ได้
|
=
|
กำหนดค่า
|
a
= b เป็นการนำค่า b
ให้ a
|
3
|
+
=
|
เพิ่มค่า แล้วกำหนดค่า
|
a
+ = b มีค่าเท่ากับ a
= a + b
|
8
|
-
=
|
ลดค่า แล้วกำหนดค่า
|
a
- = b มีค่าเท่ากับ a = a - b
|
2
|
*
=
|
คูณ แล้วกำหนดค่า
|
a
* = b มีค่าเท่ากับ a = a * b
|
15
|
/
=
|
หาร แล้วกำหนดค่า
|
a
/ = b มีค่าเท่ากับ a = a / b
|
1.67
|
%
=
|
หาเศษจากการหาร แล้วกำหนดค่า
|
a
% = b มีค่าเท่ากับ a = a % b
|
2
|
ถ้าเป็น String เครื่องหมาย + คือการนำ String 2 ค่ามาต่อกัน (Concatenate) เช่น a + b
ผลลัพธ์คือ ab
การเขียนคำอธิบายโปรแกรม
เมื่อต้องการเขียนคำอธิบายโปรแกรม
สามารถทำได้ 2 วิธี คือ
1.
คำอธิบายหนึ่งบรรทัด ใช้เครื่องหมาย // นำหน้าข้อความที่ต้องการอธิบาย
2.
คำอธิบายมากกว่าหนึ่งบรรทัด
ใช้เครื่องหมาย /* นำหน้าข้อความ และปิดด้วยเครื่อง */
การแปลงชนิดข้อมูล
ในการทำงาน
เราไม่สามารถนำข้อมูลต่างชนิดมาทำงานร่วมกันได้ จึงต้องทำการแปลงให้เป็นข้อมูล ชนิดเดียวกัน
จึงสามารถทำได้ดังนี้
Method
|
หมายถึง
|
ตัวอย่างการใช้
|
int.Parse(ข้อความ);
|
แปลงข้อมูลชนิดตัวอักษร
(String) ให้เป็นข้อมูลชนิดตัวเลขจำนวนเต็ม (int)
|
a = int.Parse(textBox1.Text)
หมายถึง
แปลงข้อมูลชนิด String ที่รับจาก textBox1 เป็นข้อมูลตัวเลขจำนวนเต็ม และเก็บค่าในตัวแปร a
b = int.Parse(“999”); หมายถึง แปลงข้อมูลชนิด String “999” ให้เป็นตัวเลข
999 แล้วเก็บค่าในตัวแปร b
|
double.Parse(ข้อความ);
|
แปลงข้อมูลชนิดตัวอักษร
(String) ให้เป็นข้อมูลตัวเลขทศนิยม (double)
|
c =
double.Parse(textBox1.Text); หมายถึง แปลงข้อมูล String ที่รับจาก textBox1 เป็นข้อมูลตัวเลขทศนิยม
และเก็บค่าในตัวแปร c
d =
double.Parse(“99.99”); หมายถึง แปลงข้อมูล String “99.99”
เป็นตัวเลขทศนิยม 99.99 แล้วเก็บค่าในตัวแปร d
|
ToString();
|
แปลงชนิดข้อมูลให้เป็นชนิดตัวอักษร
(String)
|
int e = 50;
textBox1.Text =
e.ToString(); หมายถึง แปลงชนิดข้อมูล int ซึ่งคือตัวเลข
50 ให้เป็นข้อมูลชนิดตัวอักษร (String) แล้วแสดงผลใน textBox1
เนื่องจาก textbox สามารถแสดงผลเฉพาะข้อมูลชนิดตัวอักษร
(String) เท่านั้น
|
DateTime.Now.Tostring();
|
แปลงข้อมูลชนิดวันเวลา
(DateTime) ให้เป็นชนิดตัวอักษร (String)
|
f =
DateTime.Now.ToString(); หมายถึง
แปลงข้อมูลวันเวลาปัจจุบันให้เป็นข้อมูลชนิดตัวอักษร แล้วเก็บค่าในตัวแปร
f
|
แสดงความคิดเห็น