วันเสาร์ที่ 3 สิงหาคม พ.ศ. 2556

Ex.07 พฤติกรรมของตัวแปรและชนิดข้อมูล

การประกาศตัวแปรเป็นการจองพื้นที่หน่วยความจำสำหรับเก็บข้อมูล  ซึ่งค่าที่เก็บในตัวแปรนั้นสามารถเปลี่ยนแปลงได้  ตัวแปรจะมีการอ้างถึงชื่อตัวแปรซึ่งจะเป็นการอ้างไปยังตำแหน่งหน่วยความจำแรมของคอมพิวเตอร์ ดังนั้นต้องมีการระบุชนิดข้อมูล

1. พฤติกรรมของตัวแปร  พฤติกรรมของตัวแปรมีปัจจัยอยู่ 4 อย่าง คือ

  1. ชนิดข้อมูล  (Data  type)  เพื่อให้ทราบว่าข้อมูลเป็นชนิดใด   เช่น  จำนวนเต็ม  อักขระ  สตริง  ฯลฯ
  2. ขอบเขต  (Scope)  เป็นการกำหนดขอบเขตของโค้ด เพื่อให้สามารถเข้าถึงตัวแปร  เช่น ถ้าประกาศตัวแปรไว้ในลูป  For จะสามารถใช้ตัวแปรนั้นได้ในลูป For เท่านั้น 
  3. การเข้าถึงตัวแปรจากโมดูลอื่น  (Accessibility)  เป็นตัวบ่งชี้ว่าตัวแปรใดที่อนุญาตให้โมดูลอื่นให้สามารถเข้าถึงตัวแปรได้บ้าง  เช่น ใช้คีย์เวิร์ด Private และ Public
  4. อายุของตัวแปร  (Lifetime)  เป็นตัวบ่งชี้ว่าตัวแปรจะอยู่  (valid)  นานเท่าใด  เช่น ประกาศตัวแปรในซับรูทีน เมื่อออกจากซับรูทีนแล้วตัวแปรก็จะหยุดการทำงาน 
  5. ชนิดข้อมูลของตัวแปร

ตารางประเภทของข้อมูลในภาษา VB.NET

ชนิด
ขนาด
ค่า
Boolean
2 bytes
True  หรือ  False
Byte
1 byte
ถึง  255  (unsigned  byte)
SByte
1 byte
-128  ถึง  127  (signed  character)
ชนิด
ขนาด
ค่า
Char
2 bytes
ถึง  65,535  (unsigned  character)
Short
2 bytes
32,768  ถึง  32,767
UShort
2 bytes
ถึง  65,535  (unsigned  short)
Integer
4 bytes
-2,147,483,648  ถึง  2,147,483,647
UInteger
4 bytes
ถึง  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
ถึง  18,446,744,073,709,551,615  (unsigned  long)
Decimal
16 bytes
ถึง  +/-79,228,162,514,264,337,593,543,950,335  เมื่อไม่มีจุดทศนิยม
ถึง  +/-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 ความคิดเห็น:

แสดงความคิดเห็น

 
ไม่สงวนลิขสิทธิ์บทความใดๆในบล๊อคนี้ หากท่านเห็นว่าเป็นประโยชน์..สามารถเผยแพร่ได้ตามสมควร