Java Data Types
variable แต่ละตัวจะใช้พื้นที่ใน memory จำนวนหนึ่ง จะมากน้อยเพียงใดขึ้นอยู่กับ data type
variable ใน java มี data type ซึ่งแบ่งออกเป็น 2 groups หลักๆ คือ
1. Primitive Data Type คือ ประเภทของตัวแปรในการอ้างถึงข้อมูลที่ถูกเก็บไว้ใน memory โดยจะเก็บค่าจริงโดยตรง ซึ่ง Primitive Data Type มี 8 ตัวดังนี้
boolean มีขนาดที่ไม่แน่นอน ใช้กับข้อมูลประเภทตรรกศาสตร์เป็นได้อย่างใดอย่างหนึ่ง
true
หรือ false
byte 8 bit ใช้กับตัวเลข ค่าตั้งแต่ -128 to 127
short 16 bit ใช้กับตัวเลข ค่าตั้งแต่-32.768 to 32.767
char 16 bit ใช้กับข้อมูลชนิดตัวอักษร Unicode character
int 32 bit ใช้กับตัวเลข ค่าตั้งแต่ -2.147.483.648 to 2.147.483.647
long 64 bit ใช้กับตัวเลข ค่าตั้งแต่ เยอะมากๆขอละไว้
float 32 bit ใช้กับเลขทศนิยม ค่าตั้งแต่ เยอะมากๆขอละไว้
double 64 bit ใช้กับเลขทศนิยม ค่าตั้งแต่ เยอะมากๆขอละไว้
primitive data types พวกนี้ไม่ใช่ object ไม่มีการ reference ถึง object ใดๆ
2. Object Reference คือ ประเภทของตัวแปรในการอ้างถึงข้อมูลที่ถูกเก็บไว้ใน memory โดยจะเก็บ address ที่มีการ reference ถึงแหล่งเก็บที่เก็บค่าจริงๆนั้นอยู่ นั่นหมายความว่าเป็นการ reference ถึง object ดังนั้นคุณสามารถมี multiple references ถึงแหล่งเก็บตัวเดียวกันได้เพราะเป็น Object ซึ่งคุณสามารถสร้าง Object Reference มาใช้งานเป็นชนิดของคุณเอง แต่ในภาษา Java ได้มีการสร้าง Object Reference หลักไว้ให้คุณเรียกใช้งาน มีดังนี้
Boolean มีขนาดที่ไม่แน่นอน ใช้กับข้อมูลประเภทตรรกศาสตร์เป็นได้อย่างใดอย่างหนึ่ง
true
หรือ false
Byte 8 bit ใช้กับตัวเลข ค่าตั้งแต่ -128 to 127
Short 16 bit ใช้กับตัวเลข ค่าตั้งแต่-32.768 to 32.767
Character 16 bit ใช้กับข้อมูลชนิดตัวอักษร Unicode character
Integer 32 bit ใช้กับตัวเลข ค่าตั้งแต่ -2.147.483.648 to 2.147.483.647
Long 64 bit ใช้กับตัวเลข ค่าตั้งแต่ เยอะมากๆขอละไว้
Float 32 bit ใช้กับเลขทศนิยม ค่าตั้งแต่ เยอะมากๆขอละไว้
Double 64 bit ใช้กับเลขทศนิยม ค่าตั้งแต่ เยอะมากๆขอละไว้
String N byte ใช้กับตัวอักษรเป็นชุดสายอักขระ
การประกาศและการกำหนดค่าใดๆในกับตัวแปรชนิด Object Reference ต้องใช้คำสั่ง new เพราะเป็น Object เช่น
Integer number = new Integer(10);
Object Reference are immutable หมายความว่า ค่าที่เก็บภายใน object ที่ถูกสร้างขึ้นแล้วไม่สามารถเปลี่ยนแปลงค่าได้ ดังตัวอย่างข้างต้น ค่า 10 ถูกเก็บใว้ใน object ชื่อ number ประเภท Integer จะไม่สามารถเปลี่ยนแปลงค่าได้อีกแล้ว ดังนั้นเราสามารถกำหนดค่าได้แค่ครั้งเดียวคือตอนสร้าง
Auto Boxing
ตัวอย่าง
int number = 10;
Integer numberler = number;
Compiler จะจัดการอ่านแบบนี้ให้
int number = 10;
Integer numberler = new Integer(number);
Auto UnBoxing
ใช้เมื่อต้องการกำหนดค่าของตัวแปรประเภท Object Reference ให้กับตัวแปรประเภท primitive data types
ตัวอย่าง
Integer numberler = new Integer(10);
int number = numberler;
Compiler จะจัดการอ่านแบบนี้ให้
Integer numberler = new Integer(10);
int number = numberler.intValue();
ไม่มีความคิดเห็น:
แสดงความคิดเห็น