การประกาศตัวแปรเป็นการจองพื้นที่หน่วยความจำสำหรับเก็บข้อมูล ซึ่งค่าที่เก็บในตัวแปรนั้นสามารถเปลี่ยนแปลงได้ ตัวแปรจะมีการอ้างถึงชื่อตัวแปรซึ่งจะเป็นการอ้างไปยังตำแหน่งหน่วยความจำแรมของคอมพิวเตอร์ ดังนั้นต้องมีการระบุชนิดข้อมูล
1. พฤติกรรมของตัวแปร พฤติกรรมของตัวแปรมีปัจจัยอยู่ 4 อย่าง คือ
- ชนิดข้อมูล (Data type) เพื่อให้ทราบว่าข้อมูลเป็นชนิดใด เช่น จำนวนเต็ม อักขระ สตริง ฯลฯ
- ขอบเขต (Scope) เป็นการกำหนดขอบเขตของโค้ด เพื่อให้สามารถเข้าถึงตัวแปร เช่น ถ้าประกาศตัวแปรไว้ในลูป For จะสามารถใช้ตัวแปรนั้นได้ในลูป For เท่านั้น
- การเข้าถึงตัวแปรจากโมดูลอื่น (Accessibility) เป็นตัวบ่งชี้ว่าตัวแปรใดที่อนุญาตให้โมดูลอื่นให้สามารถเข้าถึงตัวแปรได้บ้าง เช่น ใช้คีย์เวิร์ด Private และ Public
- อายุของตัวแปร (Lifetime) เป็นตัวบ่งชี้ว่าตัวแปรจะอยู่ (valid) นานเท่าใด เช่น ประกาศตัวแปรในซับรูทีน เมื่อออกจากซับรูทีนแล้วตัวแปรก็จะหยุดการทำงาน
- ชนิดข้อมูลของตัวแปร
ตารางประเภทของข้อมูลในภาษา VB.NET
ชนิด
|
ขนาด
|
ค่า
|
Boolean
|
2
bytes
|
True หรือ False
|
Byte
|
1
byte
|
0 ถึง 255
(unsigned byte)
|
SByte
|
1
byte
|
-128 ถึง 127
(signed character)
|
ชนิด
|
ขนาด
|
ค่า
|
Char
|
2
bytes
|
0 ถึง 65,535
(unsigned character)
|
Short
|
2
bytes
|
32,768 ถึง 32,767
|
UShort
|
2
bytes
|
0 ถึง 65,535
(unsigned short)
|
Integer
|
4
bytes
|
-2,147,483,648 ถึง 2,147,483,647
|
UInteger
|
4
bytes
|
0 ถึง 4,294,967,295 (unsigned
integer)
|
Long
|
8
bytes
|
-9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807
|
ULong
|
8
bytes
|
0 ถึง 18,446,744,073,709,551,615 (unsigned
long)
|
Decimal
|
16
bytes
|
0 ถึง
+/-79,228,162,514,264,337,593,543,950,335 เมื่อไม่มีจุดทศนิยม
0 ถึง +/-7.9228162514264337593543950335 กับทศนิยม 28 ตำแหน่ง |
ชนิด
|
ขนาด
|
ค่า
|
Single
|
4
Bytes
|
\-3.40282365E+38 ถึง -1401298E-45 (ค่าลบ)
1.401298E-45 ถึง 3.40282365E+38 (ค่าบวก)
|
Double
|
8
bytes
|
-1.79769313486231570E+308 ถึง -4.94065645841246544E-324 (ค่าลบ)
|
4.94065645841246544E-324 ถึง 1.79769313486231570E+308 (ค่าบวก)
|
||
ชนิด
|
ขนาด
|
ค่า
|
String
|
แปรค่า
|
ขึ้นกับแพลตฟอร์ม
สตริงสามารถจัดเก็บได้ 0 ถึง
2 พันล้านตัวอักขระ Unicode
|
Date
|
8
bytes
|
January 1, 0001
0:0:00 ถึง December
31, 9999, 11:59:59 pm
|
Object
|
4
bytes
|
จัดเก็บชนิดข้อมูลแบบใด ๆ
|
Structure
|
แปรค่า
|
สมาชิกต่าง ๆ ใน Structure มีขนาดของตัวมันเอง
|
** ชนิดข้อมูล Integer จะให้ประสิทธิภาพที่ดีกว่าข้อมูลจำนวนเต็มชนิดอื่นๆ เช่น Char Byte Short Lon หรือ Decimal แต่ถ้าต้องการประหยัดพื้นที่หน่วยความจำ ควรจะใช้ชนิดของ
2. ประเภทของตัวแปรชนิดข้อมูล
จากแผนภาพจะเห็นว่าข้อมูลชนิดจำนวนเต็มมีหลายประเภท ซึ่งมีขนาดหน่วยความจำที่แตกต่างกัน นักศึกษาต้องเลือกใช้ชนิดข้อมูลที่เหมาะสมกับปริมาณข้อมูลที่ต้องการจัดเก็บ
ตัวอย่าง โปรแกรมแสดงค่าสูงสุด และ ต่ำสุดของตัวเลขจำนวนเต็ม
|1| Module Module1
|2| Sub Main()
|3| Console.WriteLine("min
Byte=" & Byte.MaxValue)
|4| Console.WriteLine("max
Byte=" & Byte.MinValue)
|5| Console.WriteLine("min
SByte=" & SByte.MaxValue)
|6| Console.WriteLine("max
SByte=" & SByte.MinValue)
|7| Console.WriteLine("min
Short=" & Short.MaxValue)
|8| Console.WriteLine("max
Short=" & Short.MinValue)
|9| Console.WriteLine("min
UShort=" & UShort.MaxValue)
|10| Console.WriteLine("max
UShort=" & UShort.MinValue)
|11| Console.WriteLine("min
Integer=" & Integer.MaxValue)
|12| Console.WriteLine("max
Integer=" & Integer.MinValue)
|13| Console.WriteLine("min
UInteger=" & UInteger.MaxValue)
|14| Console.WriteLine("max
UInteger=" & UInteger.MinValue)
|15| Console.WriteLine("min
Long=" & Long.MaxValue)
|16| Console.WriteLine("max
Long=" & Long.MinValue)
|17| Console.WriteLine("min
ULong=" & ULong.MaxValue)
|18| Console.WriteLine("max
ULong=" & ULong.MinValue)
|19| Console.ReadLine()
|20|
|21| End Sub
|22| End Module
***************************************************
0 ความคิดเห็น:
แสดงความคิดเห็น